1

マクロに次の行があるとします。

Sheets("sheet1").Range("A1").Value = Sheets("sheet2").Range("A5").Value

A1プログラムで(VBA経由でのみ)シート1のとA2、、、A1の間に行または列を挿入しB2ても、行番号が変更されても混乱しないようにするにはどうすればよいですか?

4

1 に答える 1

1

この種の問題を回避する標準的な方法は、を使用することNamed rangesです。

A1結果の重要な場所である場合は「myResult」と呼ぶことができ、入力の重要な場所である場合はA5「myInput」と呼ぶことができます。その後、コードは次のように変更されます。

Sheets("sheet1").Range("myResult").Value = Sheets("sheet2").Range("myInput").Value

上記のコードを挿入する列または行の数に関係なく、常に同じセルが見つかります。

それとも私は質問を誤解していますか?

これらの範囲が実際には常にテーブル内の同じ相対位置にある場合A1A5たとえば右下隅の場合、解決策は異なります。

于 2013-01-02T08:11:35.403 に答える