2016-11-23 31 views
5

Bir süredir Excel ile çalışıyorum, ancak bu iki operatör arasındaki farkın ne olduğunu asla okumadım ("her ikisini de kullanmamdan bağımsız olarak") := ve = Excel'de VBAarasındaki fark nedir? = Ve = Excel'de VBA

+5

': =" bir "işleç" olarak adlandırılamaz - daha çok bir "adlandırılmış argüman belirteci" gibi. – Comintern

+0

'çağırma işlevi (argüman: = değer)' tüm argümanların isteğe bağlı olduğunu ve 10 tane olduğunu, 5'inin isme göre geçmek istediğini, sonra da '' variable variable = x' gibi değişken ayarının ' –

cevap

7

Bildiğiniz gibi = değerleri veya set nesnelerini atamak için kullanılır. i=1 diğer yandan

:= (Comintern belirtilen gibi), afaik sadece hiç bir yöntem ya da işlev içinde, belirli bir adlı bağımsız değişken bir değer atamak için kullanılır.

Aşağıdaki örneği inceleyelim: Eğer MsgBox "Hello World", , "Title1" gibi bir şey kullanabilirsiniz - prompt varsayılan Buttons tarzı, daha sonra Title - varsayılan sırayla MsgBox 'in iddialarını belirterek.

Alternatif olarak, boş tutucuları belirtmek için gerek yoktur MsgBox Title:="Title1", prompt:="Hello world"

Bildirim o

  • argümanlar sırası burada hiçbir önem taşımaktadır

    ve

  • yazmak için := kullanabilirsiniz varsayılan argümanlar için , ,.

+4

'=' olduğunu boolean operatör olarak, '=' yerine '=' yerine yanlışlıkla kullanılmaması önemlidir. 'MsgBox Title =" Title1 ", istemi =" Merhaba dünya "' muhtemelen "Option Explicit" kullanılmıyorsa, '' MsgBox False, False '' a eşit olacaktır. – YowE3K

+0

@ YowE3K Mükemmel nokta! –

1

bize örnek Range.Find method

ifade için ele alalım. Bul (Ne, sonra bakıyorum, raporuna bakın, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat) bir LOT ayarlamak için koşulların olan

! Ama sadece basit Range("A1:A500") numaraya 2 aranmasını istiyorum: := operatör olmadan

, sen ayarlamak için herhangi bir isteğe bağlı değişkenler almak için virgül kullanması gerekir: := operatörü

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

, Tüm varsayılan ayarlarda tanımlama yapmadan istediğiniz koşulları belirtebilirsiniz:

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

Aralığı için yalnızca * zorunlu * argümanı.Bul '' nedir; tüm argümanları belirtmeniz gerekmediği doğru değil; * için bir değer sağlamadığınız tüm argümanları * belirtmeniz gerekir. –

+0

@ Mat'sMug Netleştirildi, isteğe bağlı değerler almak için virgül kullanmak zorunda kalacaksınız. – Chrismas007