2016-02-23 59 views
-4

是否有可能在vba中聲明(自動)變量並且數量在增加? 我要暗淡50個變量,像VAR1直到Var50 是否有可能用VBA代碼在vba中聲明(自動)變量

我所有的努力(下次使用串連)沒有工作

結果應該是;

Dim Var1 as integer Dim Var2 as integer 。 。 昏暗Var50作爲整數

+0

你想使用一個數組設置的值。 'Dim Var(1 ro 50)as integer',那麼你可以像'Var(1)= 23'那樣使用它,等等。 –

+5

爲了愛這個世界上最好的一切,請不要這樣做。 **使用有意義的名稱**,如果您需要'SomeMeaningfulName'的50個值,則使用一個數組,例如'SomeMeaningfulName(0至49)As Integer'。不要稱之爲'Var',給它一個名字,告訴誰在維護那個代碼(將來你?)這些值用於什麼。如果他們完全不相關,那麼做一個'Type'並給每個人一個有意義的名字。然後再感謝你自己(例如*是Sheet4的列寬!$ A:$ F再次存儲在var23或var47中?*) –

回答

3

使用

Dim Var(1 to 50) as integer 

然後,你可以爲每個像這樣

Var(1) = 1 
Var(2) = 2 
Var(3) = 3 
Var(4) = 4 
Var(5) = 5 
Var(6) = 6 
Var(7) = 7 
Var(8) = 8 
Var(9) = 9 
Var(10) = 10 
Var(11) = 11 
Var(12) = 12 
Var(13) = 13 
Var(14) = 14 
Var(15) = 15 
Var(16) = 16 
Var(17) = 17 
Var(18) = 18 
Var(19) = 19 
Var(20) = 20 
Var(21) = 21 
Var(22) = 22 
Var(23) = 23 
Var(24) = 24 
Var(25) = 25 
Var(26) = 26 
Var(27) = 27 
Var(28) = 28 
Var(29) = 29 
Var(30) = 30 
Var(31) = 31 
Var(32) = 32 
Var(33) = 33 
Var(34) = 34 
Var(35) = 35 
Var(36) = 36 
Var(37) = 37 
Var(38) = 38 
Var(39) = 39 
Var(40) = 40 
Var(41) = 41 
Var(42) = 42 
Var(43) = 43 
Var(44) = 44 
Var(45) = 45 
Var(46) = 46 
Var(47) = 47 
Var(48) = 48 
Var(49) = 49 
Var(50) = 50 
+0

用隱式下限聲明的數組是基於零的,除非指定了Option Base 1 ,如果'Option Base 1 * *'沒有被指定,這會使得顯式邊界'(1到50)'可能會引起混淆。 –

+0

請使用循環來指定這些! –

+0

我們該怎麼做@Tim Williams? –