Excel VBA-模块范围变量

Excel VBA-模块范围变量,excel,vba,Excel,Vba,我已将变量分配到第一个子过程上方,以使其可用于所有子过程。当我运行第二个过程时,我收到一个“未设置块变量”错误 Dim CWS As Worksheet Sub Test() Set CWS = WB.Worksheets("Checks") CWS.Activate CWS.Range("M5:M16").Copy CWS.Range("f5").PasteSpecial xlValues CWS.Range("M19:M32").Copy CWS.Range("f19").Past

我已将变量分配到第一个子过程上方,以使其可用于所有子过程。当我运行第二个过程时,我收到一个“未设置块变量”错误

Dim CWS As Worksheet


Sub Test()

Set CWS = WB.Worksheets("Checks")

CWS.Activate
CWS.Range("M5:M16").Copy
CWS.Range("f5").PasteSpecial xlValues

CWS.Range("M19:M32").Copy
CWS.Range("f19").PasteSpecial xlValues


End Sub 

建议声明对象变量
wb
并将其设置为内存,例如,通过
Dim wb As WorkBook
set wb=ThisWorkbook
(或仅使用工作表的代码名作为参考-请参阅VB编辑器的工具窗口~>
(名称)
(括号中);顺便说一句,尽量避免不必要的
激活
。选择
:-)谢谢,因此我需要在它正在运行的子过程中设置它,它无法从另一个子过程获取该数据