- ベストアンサー
セル範囲に対して行列指定する方法は?
セル範囲に名前を付けて、 その範囲の中で行、列を指定してセルを参照する方法はありますか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。KenKen_SP です。 Cells プロパティーで参照できますよ。 書式:Range("名前").Cells(RowIndex,ColumnIndex) 例えば、名前 TEST が B5:F20 で定義されているとすれば、 Set rngCell = Range("TEST").Cells(3,5) のようにするとオブジェクト変数 rngCell には F7 セルが参照されます。 名前で定義したセル範囲の左上角(ここでは B5 セル)を基点とし、 ・行方向に 3 番目 -->B5から3つ下 7行 ・行方向に 5 番目 -->B5から5つ横 F列 のセルが参照されているわけです。幾つか例を挙げると、 Debug.Print Range("TEST").Cells(1,1).Address --> $B$5 Debug.Print Range("TEST").Cells(1,5).Address --> $F$5 Debug.Print Range("TEST").Cells(16,1).Address --> $B$20 ですね。私は好みませんが、次のような書き方でも同様です。 Debug.Print Range("TEST")(3,5).Address > その範囲の中で.... 注意点ですが、上記の方法は“その範囲の中で”とは限らないのです。 例えば、 Debug.Print Range("TEST").Cells(1000,100).Address でも $CW$1004 が返ってしまうので、名前 TEST 内のセルかどうかは 別途ロジックが必要です。 あと、Intersect メソッドについてもヘルプを確認して下さい。
お礼
詳しい解説までして頂き、ありがとうございました。 無事にできました。