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 に答える