2013-03-30 95 views
0

我想在VBA中爲excel編寫幾行代碼,這裏是VB.Net版本的代碼。VBA數組和操作符

  ThisVariable <<= 8 

     Variable.Add(ThisVariable) 

如何在VBA中編寫這些代碼行? VBA沒有「< < =」運算符,並且沒有數組的.Add屬性。任何幫助將不勝感激。

回答

2

對於第一個問題,VBA沒有內置位移功能,但是您可以添加一個可以幫您實現的功能。 Try this one.

對於第二個問題,要增加數組大小,必須使用ReDim命令。 Here's the info on that.

此外,您可以使用集合而不是數組。使用集合,您可以隨意添加&刪除項目。

好運

1

<<=左移位8位二進制數,即由256乘以數量增加一些到一個數組,你可以重新調暗陣列:

ThisVariable = ThisVariable * 256 
Dim U As Long 
Dim L As Long 
L = LBound (Variable) 
U = UBound (Variable) 
ReDim Preserve Variable (L To U+1) 
Variable (U+1) = ThisVariable 

注爲了添加元素而重新設置數組效率並不高。您應該嘗試找到另一種方法(例如,使用更大的數組並將「有效」元素的數量存儲在計數器變量中 - 或者爲此創建類模塊)。