【エクセルVBA】選択した領域のセルアドレスを順番に表示する方法

こんにちは、ヒガシです。

 

このページでは、VBA上で現在選択されている領域のセルアドレスを順番に取得していく方法をご紹介していきます。

 

例えば以下のような領域を選択している状態で本記事で紹介するマクロを実行すれば、

エクセル上で領域を選択している様子

B2, C2, B3, C3 という形で、選択した領域内にあるすべてのセルを順番に表示していくことが可能です。

 

スポンサーリンク

マクロ実演動画の紹介

上の説明だけではよくわからなかったと思いますので、まずは実演動画をご覧ください。

こんな感じで複数行&複数列を選択した場合、1列&複数行を選択した場合、1列&複数列を選択した場合とどんな状況でも順番に選択したセルのアドレスを表示できます。

 

スポンサーリンク

領域内セルアドレスを順番に表示するVBAプログラム

それでは先ほど紹介した内容を実行可能なVBAプログラムをご紹介します。

Sub check_select_cell3()
    '選択したセルのアドレスを取得する
    select_address = Selection.Address
    '選択したセルに対して順番に処理
    With ActiveSheet.Range(select_address)
            For r = .Row To .Rows.Count + .Row - 1
                For c = .Column To .Columns.Count + .Column - 1
                    ncell = Replace(Cells(r, c).Address, "$", "")
                    MsgBox ncell
                Next
            Next
    End With
End Sub

 

基本的には選択した領域の行数、列数を取得して、それぞれにForループを回してアドレスを表示していっているだけです。

 

スポンサーリンク

おわりに

そいうことで今回はエクセル上で選択した領域内のセルアドレスを順番に表示する方法をご紹介しました。

 

エクセル上でアプリケーションを作ろうとしたら意外と使えるスキルです。

私も以下のアプリケーション開発で今回のスキルを活用しています。

【エクセルVBA】超便利!データ読み込み⇒グラフ作成自動化マクロ!

ぜひ業務効率化にご活用ください。

 

それではまた!

コメント

タイトルとURLをコピーしました