0

この作品から定義されている別の本の範囲を参照したい:

Workbooks(macrofilename).Sheets(IDsheetname).Activate
lookRange = Range(Cells(startrow, startcol), Cells(rows, cols))
colno = Application.Match(myName, lookRange, 0)

しかし、他のシートをアクティブにしたくないので、ワークブックとシートを範囲定義に追加しようとしました:

lookRange = Workbooks(filename).Sheets(sheetname).Range(Cells(startrow, startcol), Sheets(Cells(rows, cols))

残念ながら、これにより 1004 エラー (アプリケーション定義またはオブジェクト定義のエラー) が発生します。

これを解決する方法はありますか?

ありがとう、Gijs。

4

2 に答える 2

2

最初にワークシートへの参照を試すことができます:

Dim Ws As Worksheet
Set Ws =  Workbooks(filename).Sheets(sheetname)

次に、範囲を参照します。

With Ws
    Set rLookRange = Range(.Cells(startrow, startcol), .Cells(rows, cols))
End With

ドットに注意してください。特定のワークシートでセルを参照しているため、ステートメントの .Cells の前にドットを貼り付けてください。

于 2015-05-08T09:54:07.100 に答える
0

ワークブック/ワークシートをアクティブ化する必要はありません。範囲を定義するには、「Set」キーワードを使用します。

構文は次のようになります。

dim rLookRange as Range


set rLookRange = Workbooks(filename).Sheets(sheetname).Range(Cells(startrow, startcol), Cells(rows, cols))

やりたいことにもよりますが (?)
範囲を比較するには、通常、配列を定義して、これらの配列内の値を比較します。

于 2012-12-04T14:28:13.780 に答える