我有两个范围声明:
Set s1 = Sheets("Key").Range("A7:A28")
Set s1 = Sheets("Key").Range(Cells(7, 1), Cells(28, 1)
第一个语句适用于“Key”表是否处于活动状态。 第二个语句仅在“Key”处于活动状态时才有效
第二个语句导致运行时错误“1004”: 应用程序定义或对象定义错误
使用行/列语法设置范围的正确方法是什么?
答案 0 :(得分:0)
声明您的工作表,然后将其与您的范围Cells()
对象一起使用:
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Key")
With ws
Set s1 = .Range("A7:A28")
Set s1 = .Range(.Cells(7, 1), .Cells(28, 1))
end with
或者如果您不想声明工作表,这也可以使用:
With ThisWorkbook.Worksheets("Key")
Set s1 = .Range("A7:A28")
Set s1 = .Range(.Cells(7, 1), .Cells(28, 1))
end with
请注意,我已将您的Cells()
(指的是 ActiveSheet )更改为.Cells()
(现在指的是 With Statement )。