Excel VBA:選択範囲を取得するには?


Excel VBA:選択範囲を取得するには?

Excelで範囲指定したアドレス(セル位置)をExcel VBAで取得するには?

選択範囲は Selection というオブジェクト?で操作できる。
さらに選択したアドレスを取得するには Selection.Address で取得できる模様。
例えば単純に範囲した場合は "$A$1:$B$2" のようなアドレスが返る。

[CTRL]キーで飛び飛びの範囲を指定した場合は "$A$1:$B$2,$B$4,$C$5:$D$6,$D$8,$E$9:$F$10,$F$12,$G$13:$H$14,$I$15" のように "," 区切りですべての選択が返るようである。

これらを取得するには・・・
(1) arr = Split(Selection.Address,",")で、すべての選択値を配列に分解

(2) For i = LBound(arr) To UBound(arr) で配列の中身をチェック

(3) arr(i) に ":" が含まれていれば範囲指定である

という感じでどうでしょう?


VBA, Excel

0 件のコメント:

その他の記事