Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
命令按钮VBA中的数组_Vba - Fatal编程技术网

命令按钮VBA中的数组

命令按钮VBA中的数组,vba,Vba,我正在执行一个代码,当我单击按钮1时,它将从范围B8:C17加载数组,当我单击按钮2时,它将在范围E8:F17中打印数组 Private Sub CommandButton1_Click() arr = Range("B8:C17") Range("B8:C17") = Clear End Sub Private Sub CommandButton2_Click() Range("E8:F17") = arr End Sub

我正在执行一个代码,当我单击按钮1时,它将从
范围B8:C17
加载数组,当我单击按钮2时,它将在
范围E8:F17
中打印数组

Private Sub CommandButton1_Click()
arr = Range("B8:C17")
Range("B8:C17") = Clear
End Sub

Private Sub CommandButton2_Click()
Range("E8:F17") = arr

End Sub
  
Private Sub UserForm_Click()
Dim arr As Variant

End Sub

按钮1工作正常,但按钮2不工作。我在这里做错了什么?

在您的代码中=清除将产生一个错误,它应该被用作如下方法:

Option Explicit

Public arr

Private Sub CommandButton1_Click()
  arr = Range("B8:C17")
  Range("B8:C17").Clear
End Sub

Private Sub CommandButton2_Click()
  Range("E8:F17") = arr
End Sub


'Private Sub UserForm_Click()
'
'End Sub


第一个子模块中的变量
arr
已填充,当其结束时,VBA将清除该变量。所以在第二个子里是空的。您应该将代码合并到一个子代码中。由于您使用的是userform,所以您应该能够公开声明您的数组,以允许它在userform打开时保留其值。为此,请将
Public arr As Variant
添加到用户表单模块的顶部(子模块外部),然后重试。