问个在全局使用数组的小白问题??
想在EXCEL的VBA中使用全局数组Sub Delay(ByVal t As Single)
Public a123 As Byte
Public arr(10) As Byte
End Sub
Private Sub test()
a123 = 1
a123 = 2
arr(10) = 1
a123 = 2
End Sub
提示
arr(10) = 1
编译错误:子过程或函数未定义 定义通用的声明里,也就是程序的最前面,不在任何过程中。
dim arr(10) As Byte
Sub Delay(ByVal t As Single)
Public a123 As Byte
End Sub
Private Sub test()
a123 = 1
a123 = 2
arr(10) = 1
a123 = 2
End Sub
编译错误,提示数组不能作为公共成员 dim arr(10) As Byte
用dim定义,而不用public定义,因为你不是在模块定义全局变量。
看我上面给你改的程序。
同意楼上 Public a123 As Byte
Public arr(10) As Byte
Sub Delay(ByVal t As Single)
Public a123 As Byte
Public arr(10) As Byte
'函数中定义的变量,在函数之外是看不到的,并且使用public是非法的,应该使用dim
'但可以定义在蓝色的位置
End Sub
Private Sub test()
a123 = 1
a123 = 2
arr(10) = 1
a123 = 2
End Sub
补充:VB , VBA