字符串的VBA范围

时间:2012-05-01 20:20:44

标签: 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)

我正在测试我在互联网上找到的所有解决方案,例如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

任何人都可以帮助我吗?

提前非常感谢。

致以最诚挚的问候,

1 个答案:

答案 0 :(得分:27)

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

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