I have been working with Excel for a while, yet i have never read what is the difference between these two operators ("regardless of i have used both")
:= and = in Excel VBA
What is the difference between := and = in Excel VBA
18.4k Views Asked by Moreno At
2
There are 2 best solutions below
3
On
Let us take for example the Range.Find method
expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)
That is a LOT of conditions to set! But you just want a simple search of the number 2 in Range("A1:A500"):
Without the := operator, you would have to use commas to get to any optional variables to set:
Range("A1:A500").Find(2, , xlValue, , , , , , )
With the := operator, you can specify which conditions you want without delineating through all the default settings:
Range("A1:A500").Find(what:=2, lookin:=xlValues)
As you already know,
=is used to assign values or set objects - e.g.i=1:=on the other hand (like Comintern mentioned), is used to to assign a value to a certain named argument, afaik only ever inside a method or function.Consider the following example: you could use something like
MsgBox "Hello World", , "Title1"- specifyingMsgBox's arguments in the default order - theprompt, the defaultButtons-style, then theTitle.Alternatively, one could use
:=to writeMsgBox Title:="Title1", prompt:="Hello world"Notice that
the order of the arguments is of no importance here and
there is no need to specify empty placeholders for default-arguments
, ,.