こんにちは、ヒガシです。
このページでは、エクセル上で選択した複数のセルや領域のアドレス(A1とかC2とか)を順番に取得する方法をご紹介していきます。
それではさっそくやっていきましょう!
アドレス取得マクロの概要
プログラム紹介に入る前にそもそもどんなことができるのかを紹介しておきます。
言葉で説明するよりも動画を見ていただいた方がわかりやすいと思いますのでまずは動画をご覧ください。
実行動画①セルを複数選択した場合
少し小さくてわかりにくいかもしれないですが、選択したセルのアドレスが順番に表示されていることがわかると思います。
実行動画②領域を複数選択した場合
このような場合でも選択した領域のアドレスを表示してくれます。
実行動画➂領域とセルを複数選択した場合
こんな感じで領域とセルが混在していても、問題なくそれぞれのアドレスを表示します。
こんな機能です。
あなたのやりたいことと一致していれば、ぜひ続きをご覧ください。
セル&領域のアドレス取得VBAプログラム
それでは、先ほど紹介した機能を持ったプログラムをご紹介します。
基本的にコピペでOKです。
Sub check_select_cell()
'選択したセルのアドレスを取得する
select_address = Selection.Address
'取得したアドレスを分割する
address_array = Split(select_address, ",")
'選択したセルに対して順番に処理
For j = LBound(address_array) To UBound(address_array)
MsgBox address_array(j)
Next
End Sub
難しそうな感じはしますがプログラムにするとたったのこれだけです。
おわりに
というわけで今回は選択したセル&領域のアドレスを順番に取得するマクロをご紹介しました。
どこで使うねん、と思われる方もいるかもしれませんが、以下の記事で紹介するマクロの中にも今回のスキルが使われています。
【エクセルVBA】エクセル上でデータ整理(コピー&フォルダ移動)するマクロ
興味があればぜひこちらもご覧ください。
それではまた!
コメント