如何以形式声明全局数组?
我需要在一个过程中填充数组,并在另一个过程中读取。
将当前代码置于FillArray_1
array1 = Array( ...
我收到一条错误消息:
Expected variable or procedure, not project
代码:
Dim array1() As String ' Array
Private Sub Exe_btn_Click()
PrintArray
End Sub
Public Sub FillArray_1()
array1 = Array( _
"member_1", _
"member_2", _
"member_3")
End Sub
Public Sub PrintArray()
FillArray_1
Dim i As Integer
For i = LBound(array1) To UBound(array1)
Debug.Print array1(i)
Next i
End Sub
答案 0 :(得分:2)
如错误消息所示,def merge(a, b):
n_a = len(a)
n = min(n_a, len(b))
m = 0
for i in range(1, n + 1):
if b[n - i] == a[n_a - 1 - m]:
m += 1
else:
m = 0
return a + b[m:]
是您的项目的名称!重命名项目,否则您必须使用Array
来避免这种冲突:
VBA.Array
答案 1 :(得分:1)
不是昏暗,而是公开:
Public array1() As String
,它不能位于表单的模块中。将其移至代码模块。
答案 2 :(得分:1)
要使用array1
函数填充Array()
,必须将其声明为Variant
。
Dim array1 As Variant
或
Public array1 As Variant
如果这些功能在不同的模块中。