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) に ":" が含まれていれば範囲指定である
という感じでどうでしょう?
選択範囲は 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 件のコメント:
コメントを投稿