VBA范围从string

这很愚蠢,但是我在这个简单的陈述中被卡住了一段时间:

Dim range1 as Range Dim mysheet as String Dim myrange as String mysheet = "Sheet1" range = "A1:A10" range1 = Worksheets(mysheet).Range(myrange) 

我已经testing了在互联网上find的所有解决scheme,例如这个 , 这个和这个 ,但没有。

所有这一切给我错误:1004“应用程序定义错误”或“对象variables或未设置”。

我已经尝试了以下内容:

 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

谁能帮我?

提前真的很感谢。

最好的祝福,

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

 Set range1 = Worksheets(mysheet).Range(myrange)