这有点傻,但我在这个简单的声明中已经被困了一段时间:
Dim range1 as Range
Dim mysheet as String
Dim myrange as String
mysheet = "Sheet1"
range = "A1:A10"
range1 = Worksheets(mysheet).Range(myrange)
我正在测试我在互联网上找到的所有解决方案,例如this,this和this,但没有。
它一直给我错误:1004“由应用程序定义的错误”或“对象变量或未设置”。
我尝试了以下内容:
range1 = ThisWorkbook.Worksheets(mysheet).Range(myrange)
range1 = ActiveWorkbook.Worksheets(mysheet).Range(myrange)
range1 = Sheets(mysheet).Range(myrange) (and the combinations above)
range1 = Worksheets(mysheet).Range(Cells(1,1), Cells(1,10)) (and the combinations with This/Active workbook)
和
with This/ActiveWorkbook
range1 = .Worksheets(mysheet).Range(myrange)
end with
没有人工作过。
这真是一件非常愚蠢的事,但我已经被困了一段时间了:s
任何人都可以帮助我吗?
提前非常感谢。
致以最诚挚的问候,
答案 0 :(得分:27)
您需要使用Set来分配对象:
Set range1 = Worksheets(mysheet).Range(myrange)