0

我正在尝试在 VBA 中为 excel 编写几行代码,这是 VB.Net 版本的代码的样子。

            ThisVariable <<= 8

        Variable.Add(ThisVariable)

如何在 VBA 中编写这些代码行?VBA 没有“<<=”运算符,也没有数组的 .Add 属性。任何帮助将不胜感激。

4

2 回答 2

2

对于第一个问题,VBA 没有内置位移,但您可以添加一个为您完成位移的函数。试试这个。

对于第二个问题,要增加数组大小,您必须使用 ReDim 命令。这是相关信息。

此外,您可以使用集合而不是数组。使用集合,您可以随意添加和删除其中的项目。

祝你好运

于 2013-03-30T16:57:20.420 回答
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

请注意,为了添加元素而重新调整数组并不是很有效。您应该尝试找到另一种方法(例如,使用更大的数组并将“有效”元素的数量存储在计数器变量中——或者甚至为此创建一个类模块)。

于 2013-03-30T16:58:56.050 回答