2016-11-23 5 views
5

私はしばらくの間Excelで作業していましたが、これらの2つの演算子の違いは何も読んでいませんでした(「どちらにも関係なく」)。 := Excel VBAの=ExcelのVBAで=と=を比較する

+5

「:=」を「演算子」と呼ぶことはありません。「名前付き引数指定子」のようなものです。 – Comintern

+0

'call関数(引数:=値)'すべての引数がオプションで、10があり、5番目を名前で渡したい場合、 'let variable = x'のような変数設定を使用する場合 –

答えて

7

ご存じのように、=は値の割り当てやオブジェクトの設定に使用されます。 i=1一方

:=は(コミンテルンは、上述のように)、私の知る限りしかメソッドまたは関数の内部で、特定の名前引数に値を割り当てるために使用されます。

は、次の例を考えてみましょう:あなたはMsgBox "Hello World", , "Title1"ようなものを使用することができます - prompt、デフォルトButtonsスタイル、そしてTitle - デフォルトの順序でMsgBoxの引数を指定します。

あるいは、

  • は、引数の順序は、ここでは重要ではないと

  • 空のプレースホルダを指定する必要がないことMsgBox Title:="Title1", prompt:="Hello world"

    通告を書くために:=を使用することができますデフォルトの引数は, ,です。

+4

' = 'も使用されますこれはブール演算子であるため、 ':='の代わりに '='を誤って使用しないことが重要です'MsgBox Title =" Title1 "、prompt =" Hello world "は、' Option Explicit'が使用されていなかった場合、おそらく 'MsgBox False、False'と同じです。 – YowE3K

+0

@ YowE3K優れた点! –

1

私たちは、例えばRange.Find method

表現を見てみましょう。 検索設定する条件のLOTある

(何を、した後、のlookin、ルックアット、SearchOrder、SearchDirection、MatchCase、MatchByte、SearchFormat)!しかし、あなただけのシンプルなRange("A1:A500")で数2の検索したい::=オペレータなし

を、あなたが設定する任意のオプションの変数を取得するためにカンマを使用する必要があります::=オペレータとの

Range("A1:A500").Find(2, , xlValue, , , , , ,) 

Range("A1:A500").Find(what:=2, lookin:=xlValues) 
+0

'Range 'には*必須の引数があります。Find'は 'What'です。すべての引数を指定する必要はありません。すべての引数*を指定する必要があります。*には値を指定していません。 –

+0

@ Mat'sMugオプションの値を取得するためにカンマを使用する必要があることを明確にしました。 – Chrismas007

関連する問題