Excel VBA 住所データをGoogleMapにリンクする方法

スポンサーリンク

住所データにハイパーリンクを設定する方法

ハイパーリンクとは、リンク先が設定されている文字列や図形のことです。ハイパーリンクをクリックすると、設定されているリンク先に移動することができます。

リンク先には、ブック内のシート、ファイル、Webページ、メールアドレスを指定することができます。

VBAでハイパーリンクを設定するには、ハイパーリンクの集まりを表すHyperlinks【ハイペーリンクス】コレクションのAdd【アド】メソッドを使用します。

ハイパーリンクを参照するには、ハイパーリンクを表すHyperlink【ハイパーリンク】オブジェクトを使用します。

HyperlinksコレクションのAddメソッドの書式と設定値(引数)の説明

[]内は省略可能です。
オブジェクト.Add(Anchor,Address[,SubAddress,screenTip,TextToDisplay])

  • オブジェクト(必須)
    ハイパーリンクの集まりを表すHyperlinks【ハイペーリンクス】コレクションを指定します。
  • Anchor【アンカー】(必須)
    オブジェクト型の値を使用してハイパーリンクの設定先を指定します。セルに設定する場合はセルを表すRange【レンジ】オブジェクトを指定します。
  • Address【アドレス】(必須)
    URLやファイルのパスなど、ハイパーリンクのアドレスを文字列で指定します。
  • SubAddress【サブアドレス】(省略可)
    ハイパーリンクのサブアドレスを指定します。指定したWebページ内のブックマークやワークシート内のセルなどのジャンプ先を指定します。
  • ScreenTip【スクリーンチップ】(省略可)
    ハイパーリンク上にマウスを合わせたときに表示されるポップヒントを指定します。
  • TextToDisplay【テキストトゥディスプレイ】(省略可)
    セルに表示される文字列を指定します。

B列に設定された住所データからハイパーリンクで地図を表示するコードと解説

Sub ハイパーリンク()
Dim i As Integer
For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row
ActiveSheet.Hyperlinks.Add _
Anchor:=Cells(i, 2) _
, Address:="https://maps.google.co.jp/maps/search/" & Cells(i, 2).Value
Next i
End Sub
2行目【Dim i As Long】
住所が入力されている列の項目行を除いた2行目から最終行を格納するカウンタ―変数のiを長整数型(Long)で宣言します。


3行目【For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row】
For Next【フォーネクスト】ステートメントで繰り返し処理の始まりです。2からCells【セルズ】プロパティで参照したB列のRows.Count【ロウズカウント】プロパティで参照したセルの最終行からRange【レンジ】オブジェクトのEnd【エンド】プロパティでデータが入力されている最終行まで移動し、その行番号をRow【ロウ】プロパティで取得した値を設定します。つまり、カウンター変数「i」に繰り返し処理の中、2からデータが入力されている最終行番号までを順に代入して繰り返します。


4行目【ActiveSheet.Hyperlinks.Add _】
Hyperlinks【ハイパーリンクス】コレクションのAdd【アド】メソッドでハイパーリンクを作成します。


5行目【Anchor:=Cells(i, 2) _】
Add【アド】メソッドの引数Anchor【アンカー】にハイパーリンクの設定先を住所が入力されている2列目のカウンター変数「i」に設定しています。


6行目【Address:=”https://maps.google.co.jp/maps/search/” & Cells(i, 2).Value】
Add【アド】メソッドの引数Address【アドレス】にグーグルマップのアドレスを設定しています。

実行前

実行後



リンクを解除する方法

リンクの列を選択してマウス右ボタンをクリックしてメニューの一番下に「リンクの削除」で削除できますが、簡単なのでリンクを解除するコードも説明します。

シートのハイパーリンクをすべて解除するには、Hyperlinks【ハイパーリンクス】コレクションに対してDelete【デリート】メソッドを使用すればハイパーリンクが解除されます。

コード例

Sub リンク削除()
ActiveSheet.Hyperlinks.Delete
End Sub

リンクを作成するコードと同じモジュール内に記述しておくとよいと思います。
以上で、住所データをGoogleMapにリンクする方法についての解説を終了します。ありがとうございました。

スポンサーリンク

関連記事・広告