2019年12月25日水曜日

【マクロ】選択した範囲のアドレスを取得する

シート上で実際に選択した範囲からそのアドレスを取り出す方法

標準モジュールに
Sub rangeaddress()
Range(g_cnsclearrange).ClearContents
End Sub

イミディエイトウィンドウに
?selection.address
と、入力してEnterを押す
結果
?selection.address
$B$4:$C$6,$E$4,$F$7:$F$8
と、書き出される。

結合された範囲でも取得が出来る。


※注意点
まず、選択したセル範囲のアドレスが表記上であまりにも長い(限度は未確認ですが)場合、「イディミエイトウィンドウ」上に全てが表示されない場合がある。
 このような場合は、表示されるアドレス文字列の右端が最後に選択したセル(セル範囲)かどうか確認すること。
もう一つ、Rangeプロパティに指定できるセル範囲を示す文字列の長さにも限度があり、
これを超えていると実行時にエラーとなる。
この場合は、文字列を複数に分けて順に利用するように。

0 件のコメント:

コメントを投稿