【VBA】エクセルVBAで地図の一角をクリックしたら詳細情報のセルを強調する

プログラミング

エクセルのVBAで地図の一角をクリックしたら詳細情報が書かれたセルを色変化させて強調できるようにします。

今回は、下記のように関東のマップを作成して見ました。

地図の詳細方法は、都県の人口と都知事 県知事を乗せています。(人口は、総務省統計局「統計でみる市区町村のすがた2021」、知事は令和4年3月10日時点)

マップは、クリックするところがわかりやすいように見えるような透明度にしていますが本来は透明度マックスでいけます。

クリックするところは、図形の挿入で追加します。

図形の中に県名(詳細情報とリンクできる文字)を書き込みます。

下記は、図形に登録するマクロです。

Sub collrchenge()
    shapname = Application.Caller '図形の名前を取得(正方形/長方形1)
With ActiveSheet.Shapes(shapname).TextFrame.Characters
    'TextFrameオブジェクトを取得 
squ1 = .Text   'squ1に図形の中の文字を取得 正方形/長方形 1
 End With
    Set chengecell = Range(Cells(1, 1), Cells(8, 1)).Find(squ1) '図形の文字をRangeの中から検索
      If chengecell Is Nothing Then '選択された図形の文字がないと何も起きない
        Else
            If Range(chengecell.Address).Interior.ColorIndex = 3 Then 'if
                Range(chengecell.Address, chengecell.Offset(, 2).Address).Interior.ColorIndex = 0 '赤に変化
             Else
                Range(chengecell.Address, chengecell.Offset(, 2).Address).Interior.ColorIndex = 3
            End If
    End If
End Sub

Sub fullchenge()
    Range("A1", "C8").Interior.ColorIndex = 0
End Sub

マップ上の県名が書かれた図形に 「collrchenge 」のマクロを登録します。すべての色を元に戻すと書かれた図形に「fullchenge」のマクロを登録します。

すると、下記のようになります。東京のところをクリックしました。もう一度クリックすると、色なしになります。

ぜひ、使って見てください。

コメント

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