16

这有点愚蠢,但我在这个简单的陈述中被困了一段时间:

    Dim range1 as Range
    Dim mysheet as String
    Dim myrange as String

    mysheet = "Sheet1"
    range = "A1:A10"

range1 = Worksheets(mysheet).Range(myrange)

我已经测试了我在互联网上找到的所有解决方案,例如thisthisthis,但没有。

它一直给我错误: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

谁能帮我?

真的提前谢谢了。

最好的祝福,

4

1 回答 1

30

您需要使用 Set 来分配对象:

Set range1 = Worksheets(mysheet).Range(myrange)
于 2012-05-01T20:25:45.013 回答