我在这个论坛和其他论坛上都看到过类似的问题,我在发布之前尝试了所有我能想到的组合。我还参考了一些关于用户表单的教科书和更多技术站点,但似乎无法正确理解。
我在用户表单中创建变量,然后在我的模块中引用这些变量。我尝试将它们标记为全局,在用户窗体和模块上、仅在用户窗体上、仅在模块上以及其他一些组合上定义它们,但没有得到正确的结果。
这就是我现在所拥有的,我所阅读的所有内容都应该是正确的:
*在用户表单的声明部分:
Dim ABC as Workbook
Dim Primary as Workbook
*在用户窗体的命令按钮部分
For j = 0 To (ListBox1.ListCount - 1)
If ListBox1.List(j) Like "ABC" Then
Set ABC = Workbooks(ListBox1.List(j))
ABC.Activate
Exit For
End If
Next
For i = 0 To (ListBox1.ListCount - 1)
If ListBox1.List(i) Like "Aggregate" Then
Set Primary = Workbooks(ListBox1.List(i))
Primary.Activate
Exit For
End If
Next
*这会持续几个变量,每个变量都索引在不同的字母上。
在模块中,我有这样的东西:
Primary.Sheets("Summary").Range("A5:H40").CopyPicture Appearance:=xlScreen, Format:=xlPicture
如上所述,我的问题是如何定义这些工作簿(Primary、ABC 等),以便可以在我的模块中使用它们,就像上面的示例一样。
在我的模块中使用时,我可以写吗
Primary.Sheets(.......)....
还是我需要做 Workbooks("Primary").Sheets(....)....
也许我应该 Dim Primary as String 并那样做?
谢谢!