我面临以下问题: 我有两个代码,一个是基于表单的,第二个是基于模块的。在模块中,我定义了这样的范围:
Dim see As worksheet
Set see = sheets("Sheet2")
Dim rega As range
Dim gh As Long
gh = ThisWorkbook.Worksheets(1).Cells(1, 1)
Set rega = see.Range(Cells(3, gh + 2), Cells(39, gh + 2))
现在的问题是,当我使用F5运行模块中的代码时,它工作正常,但是如果我从工作表中写入的命令按钮调用它(调用它没有工作,似乎问题与范围。 任何想法,我缺少什么?
由于
答案 0 :(得分:0)
不合格的范围对象可能会引发1004错误?
Set rega = see.Range(Cells(3, gh + 2), Cells(39, gh + 2))
请注意Cells
方法,除非由父Worksheet
对象限定,否则将始终隐含地引用ActiveSheet
。
尝试:
With see
Set rega = .Range(.Cells(3, gh + 2).Address, .Cells(39, gh + 2).Address)
End With