【发布时间】:2018-07-29 09:10:12
【问题描述】:
我似乎无法让它工作。
我想将一个二维数组从一个子程序传递给其他应该进行数据操作的子程序。
我从 Sheet1 上的命令按钮调用下面的子程序。在 Module1 中,我已将变量声明为公开的。在子例程 ReadData 中,在 End If 语句中,InputArray 填充了一个数组,该数组由用户在输入框后面标记的数字组成。子程序 ReadData 完成后,InputArray 为空。
我做错了什么明显且明显愚蠢的事情?
** Sheet1**:
Private Sub CommandButton1_Click()
Call ReadData
End Sub
**Module1**:
Option Explicit
Option Base 1
Public MyRange, InputArray As Variant
Sub ReadData()
Set MyRange = Application.InputBox("Mark the data array", Type:=8)
If Not MyRange Is Nothing Then
InputArray = MyRange
End If
End Sub
【问题讨论】:
-
因为 myrange 是一个对象,您需要“设置”它,或者如果您只想要值,请使用“myrange.values”
标签: excel vba subroutine