如何以表格形式声明全局数组?

时间:2019-09-02 19:51:10

标签: access-vba

如何以形式声明全局数组?
我需要在一个过程中填充数组,并在另一个过程中读取。
将当前代码置于FillArray_1

的第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

3 个答案:

答案 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

如果这些功能在不同的模块中。