繁体   English   中英

Excel VBA:具有变量和时间戳的二维数组

[英]Excel VBA: two dimensional array with variable and time stamp

我希望下面的Sub过程在每次执行时将参数和时间戳推送到二维数组。

Public Dim myArray() As Variant

Public Sub mySub(argument)
n = n + 1
   //other code here
ReDim Preserve myArray(1 To n, 1 To 2)
myArray(n, 1) = argument
myArray(n, 2) = DateTime.Now()

End Sub

所以,基本上我想得到一个包含2列和n行的数组,第1列是过程中使用的参数,第2列是时间戳。

从Function调用此过程,但函数返回#VALUE! 并且数组是空的。 这段代码有什么问题?

你遇到了VBA数组的怪癖。 您只能在第二维中使用ReDim Preserve扩充二维数组。 那是,

n = n + 1
ReDim Preserve myArray(1 To 2, 1 to n)

会工作,但是

n = n + 1
ReDim Preserve myArray(1 To n, 1 To 2)

会导致错误。

如果你想以这种方式使用数组,你只需要处理你的维度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM