字符串的VBA范围

Chr*_*lma 14 excel vba excel-vba

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

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

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

range1 = Worksheets(mysheet).Range(myrange)
Run Code Online (Sandbox Code Playgroud)

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

它总是给我错误: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)
Run Code Online (Sandbox Code Playgroud)

with This/ActiveWorkbook
range1 = .Worksheets(mysheet).Range(myrange)
end with
Run Code Online (Sandbox Code Playgroud)

没有人工作过.

这真是一件非常愚蠢的事情,但我已经被困了一段时间了:s

谁能帮我?

非常感谢提前.

最好的祝福,

ass*_*ias 28

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

Set range1 = Worksheets(mysheet).Range(myrange)
Run Code Online (Sandbox Code Playgroud)