ExcelとGoogle Mapsの相互連携


Exif(ジオタグ)はこちらへ移転しました
「Excel & Google Maps & StreetView」はこちらへ移転しました
TSPソルバーはこちらへ移転しました
「ExcelとGoogle Mapsでルート検索」はMy Mapsが充実したので廃止します

このExcelアプリはGoogleMapsと相互にデータをやり取りするものです。

●地図をクリックして地点データをExcelに表示。

●Excelに登録したデータ(住所、緯度・経度)をクリックして地図移動。

●Google MapsにはExcelの行を示す数字付きマーカーで表示

表示数に制限はありません

マーカーの色はExcelの文字色で表示

一部VBAをDLL化してましたが、どうも不具合が出るようなので元に戻しました。

 

保存したデータGoogle EarthやMy Maps(マイマップ)で使えます。

位置データを持った外部CSVファイルを読み込めば、その場所をGoogleMapsで表示できます。

GMapBook.xlsmのダウンロード2016/08/30 update

こんな感じ。

vba-map1


地図をクリックして地点データをExcelに表示

vba-map21

Excelをクリックして登録したデータで地図移動

登録したものでなくても、住所のセルなどに新規に入力してクリックすれば移動します。

vba-map31


Excelのワークシート

動作に必要なのは、1行目に「緯度・経度・標高・住所」という単語を持つ4つの列です。

順不同で、他の列が挿入されていてもかまいません。

もし存在しない場合は、地図を開く時にワーニングが出ます。

「座標列(10進)」というのは、あってもなくてもかまいません。あればそこにデータを挿入します。

「名称」、「メモ」列も任意です。ここにデータがあればKMLやCSVファイル作成時に反映されます。

メモの記述ではHTMLも可です。改行なんかが必要な場合は<br/>などをお使いください。


vba-map41

データを複数選択して表示する場合、マーカーの色は文字の色と同じになります。カテゴリー分けするような場合に使います。

文字の色が黒の場合マーカーの色は白にしています。Earthの画面が暗色系なのでそうしています。

CSVやKMLで保存するとGoogle EarthMy Maps(マイマップ)で使用できます。

KMLならグーグルマップEarthMyMaps(マイマップ)で同じ色のマーカーを使えます。

KMLもCSVもExcelのブックと同じ場所に保存されます。


データの作り方

【地図からデータを拾う場合】

地図上でクリックしてください。

vba-map-maps2

その位置の緯度・経度・標高・住所がセットされます。

vba-map-excel2

こういう所をクリックしたらどうなるか…というと。

vba-map-seaclick

住所はありませんので、住所フィールドに「ZERO_RESULTS」というのが入り、 緯度・経度・標高(というか海抜)データは普通にセットされます

【ワークシートにデータを貼り付けて使う場合】

住所やランドマーク名からデータを採取します。

地図を開いておきます。

住所やランドマーク名を入力して、その行をクリックします。

vba-map-excel5

その場所に移動して、他のデータを補完します。

vba-map-maps5

excel5-1


位置を修正する場合

緯度・経度のデータがあるなら、行をクリックすればその位置に移動します。

vba-map-excel4

赤いマーカーをドラッグして移動させます。

vba-map-maps4

修正されたデータがセットされます。

vba-map-excel4-1

地図の移動は住所より緯度・経度が優先されます。マーカーのドラッグにより住所が変わるのはちょっと….という方は、

住所を一旦別列に保存しておき、修正後再度戻すようにしてください。


データの追加

通常、地図をクリックすれば、データは最後尾へ追加されていきます。

途中にデータを追加したい場合は、行を挿入してください。

地図表示時は、右クリックは使えませんので地図を閉じるか、メインメニュで挿入してください。

vba-map-excel5

地図上でクリック。

vba-map-maps6

途中の空白行にデータがセットされます。

vba-map-excel6-1


データの削除

通常のExcel操作と同じです。


1行目に「緯度・経度・標高・住所」の列が見つからないか、存在しない場合

excel7

地図を開くとき、以下のようなダイアログが出ます。

列記号を入力します。

経度なら「B」といった記号ですが、列の順番が違う場合は適宜変更してください。

vba-map-excel7-1

仕様では、その列に「経度」がセットされます。


外部CSVファイルの読み込み

緯度、経度のデータを持ったCSVを読み込めばMapsで表示できます。

●データ列が名称・緯度・経度の順の場合

例えばこんなファイル(奈良の事業所データ)

Excel 2013の場合

メニュ -> データ -> 外部データの取り込み -> テキストファイル -> CSVファイルを選ぶ -> 取り込み開始行は1 -> 区切り文字は「その他」で”カンマ” ->

完了

既存のワークシートで、$A$2に取り込みます。

 

●データ列が名称・住所の順の場合

例えばこんなファイル

Excelの列の順番を変えます、こんな感じ。

excel-junban

で、上と同様に読み込めばよいです。

excel-junban2

 

後はExcelの行をクリックしたり複数行を選択するだけ。


 

Be the first to comment

Leave a Reply

Your email address will not be published.


*