所以今天的问题让我很生气,因为这应该很容易,但我找不到答案:
如何在VBA中声明公共数组?我正在使用包含字母 A、B、C...的数组,因为我正在使用 Excel 单元格,并且我不想在我创建的每个函数中声明它,对吧?
我尝试先在网上查看,我读到您必须在不同的模块中声明它,所以这就是我所做的:
Public colHeader As String
colHeader = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L")
但 Visual Basic 不喜欢它......
那我该怎么办呢?
多谢 :)
编辑:问题更多的是为数组赋值而不是声明它
将数组声明为应用程序中跨子进程的全局数组:
Public GlobalArray(10) as String
GlobalArray = Array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L')
Sub DisplayArray()
Dim i As Integer
For i = 0 to UBound(GlobalArray, 1)
MsgBox GlobalArray(i)
Next i
End Sub
方法2:将数组传递给sub。使用参数数组。
Sub DisplayArray(Name As String, ParamArray Arr() As Variant)
Dim i As Integer
For i = 0 To UBound(Arr())
MsgBox Name & ": " & Arr(i)
Next i
End Sub
ParamArray 必须是最后一个参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)