• 締切済み

メッシュコードからマップを作成するマクロ(VBA)

Excelのセルを一つの三次メッシュとして三次メッシュコードをもとに日本全国のマップを作成したいと思っています。 三次メッシュコードを読み込んでマップを作成するプログラムを誰かお持ちでないでしょうか。 よろしくお願いします。

みんなの回答

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.3

分かった様な分からないような・・・ 例えば、 (http://gakuen.gifu-net.ed.jp/~contents/kou_seibutu/biota/macro_cord_in.htm) こういうのを作りたいとかなんでしょうか? だとすると、メッシュコードを読み込んで。 (例えばデータのフォーマットが「AABB-CD-EF」形式だとすると) AA,BB,C,D,E,Fをそれぞれ文字列として切り出して、各々数値に直して、 縦方向(下から上方向・南から北方向)は、 AA*80+C*10+E 横方向(左から右方向・西から東方向)は、 BB*80+D*10+F を計算すれば、セルの位置(並び順)になるのでは・・・ #2次メッシュは8分割、3次メッシュは10分割らしいので。

genwakame
質問者

お礼

度々ありがとうございます。 >例えば、 (​http://gakuen.gifu-net.ed.jp/~contents/kou_seibutu/biota/macro_cord...​) そうです! 他には http://www.komazawa-u.ac.jp/~fumio/kougi2005/excel-landuse-manual.html http://homepage2.nifty.com/bug_forest/betabang.html もあります。 データをダウンロードしてマクロを見てもチンプンカンプンですね・・・。自分の勉強不足です。 >だとすると、メッシュコードを読み込んで。(例えばデータのフォーマットが「AABB-CD-EF」形式だとすると)AA,BB,C,D,E,Fをそれぞれ文字列として切り出して、各々数値に直して、縦方向(下から上方向・南から北方向)は、AA*80+C*10+E 横方向(左から右方向・西から東方向)は、 BB*80+D*10+F を計算すれば、セルの位置(並び順)になるのでは・・・ #2次メッシュは8分割、3次メッシュは10分割らしいので。 なるほど。すごいですね。今までダウンロードしたファイルは国土数値情報のデータをExcelに読み込ませて作図しているものですが、この方法ならもっと簡単に作れるかもしれないですね。 早速試してみます!!!

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.2

> 添付できるのでしょうか。 そういう機能は無いですね。 個人のHPで公開するとかしないと・・・ > Excel2007を使用します。 なるほど。 ちなみに私はExcel2007は持ってませんから、 Excel2007形式のファイルをもらったとしたら、中身は見れません。 > イメージとしてはドット絵になります。 > ドット絵で神奈川県のマップを作成。 > そのドットのひとつひとつがExcelのセルに対応しています。 > Excelで神奈川県のマップは作成済みで添付出来たら一番伝えやすいとは思うのですが・・ うーん。 「神奈川県が『三次メッシュコード』の何番から何番にあたる」と言う情報を持っていて、それを元に「ドット絵」を描き終わったと言うことでしょうか? 違うか・・・ もし、そうなら、質問の「三次メッシュコードを読み込んでマップを作成するプログラム」と矛盾しますから・・・ 具体的に、どういうデータから、何をしたいのでしょう??? やはり、やりたいことのイメージがわかないです・・・ #> goo教えては初心者なもので。 #ちなみに私は、「OKWave」から閲覧しています。

genwakame
質問者

お礼

dsuekichiさんこんにちは。ありがとうございます。 >「神奈川県が『三次メッシュコード』の何番から何番にあたる」と言う情報を持っていて、それを元に「ドット絵」を描き終わったと言うことでしょうか? メッシュコード持っています。書き終えました。Excel2003で神奈川県のみのデータを持っています。 >質問の「三次メッシュコードを読み込んでマップを作成するプログラム」と矛盾しますから・・・ 47都道都道府県全ての地図をExcelで作成するのがまず最初の段階なのです。全て手作業で作ってしまうのもありですが、プログラムを完成させる事でデータの更新等応用が利くと思い、プログラムを作成しているところです。

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.1

> Excelのセルを一つの三次メッシュとして三次メッシュコードをもとに日本全国のマップを作成したいと思っています。 「マップ」ってどういうイメージなんでしょう? #メッシュコードは単なる座標ですよね? #メッシュコードで与えられたマップ用データとかがあるんでしょうか? 三次メッシュっておよそ1Km四方らしいですね。 となると、Excelの横方向は255列しかないので東西は255kmまで・・・ 日本全国は無理な気が・・・ (http://nlftp.mlit.go.jp/ksj/mesh.html) (http://ja.wikipedia.org/wiki/%E4%BA%8C%E6%AC%A1%E3%83%A1%E3%83%83%E3%82%B7%E3%83%A5) 等を見ると、緯度・経度を読み替えるだけの様ですね、 単純な計算で済むのでは?

genwakame
質問者

お礼

dsuekichiさん お忙しい中のご回答ありがとうございます。 genwakameです。返事が遅くなりました。 >「マップ」ってどういうイメージなんでしょう? Excelで神奈川県のマップは作成済みで添付出来たら一番伝えやすいとは思うのですが・・添付できるのでしょうか。goo教えては初心者なもので。 イメージとしてはドット絵になります。ドット絵で神奈川県のマップを作成。そのドットのひとつひとつがExcelのセルに対応しています。 >三次メッシュっておよそ1Km四方らしいですね。 存じております。調べて頂いたようで恐縮です。 >となると、Excelの横方向は255列しかないので東西は255kmまで・・・日本全国は無理な気が・・・ すいません。説明不足でした。Excel2007を使用します。大幅にレコード、フィールドが増えたので問題はありません。47都道府県ごとに作成する場合は2003でも対応しきれるかと。

関連するQ&A

  • メッシュコードの総数について

    単純のような気がしないでもないですが、標記について教えて下さい。 日本全国を網羅している一次メッシュ、二次メッシュ、三次メッシュの各メッシュコードの総合計数が知りたいです。 一次メッシュは全部で175ですよね? それを8×8分割したものが二次メッシュ。とすると、 175*64=11200 ←これが二次メッシュコードの総数? それを10×10分割したものが三次メッシュ。とすると、 11200*100=1120000 ←これが三次メッシュコードの総数? どなたか教えて下さい。参考になるURLだけでもOKです。 よろしくお願いします。

  • STLのmapを使ってコードを書き換える

    問題文説明とコードは長いので、リンク先のページでまとめました。 http://codepad.org/M5yyvUud 問題文通りのプログラムをstd::setを使って書いてみたのですが、このコードをstd::setではなく、std::mapを使って書き換えるにはどのようにすればよろしいでしょうか? mapを使ってキーとコードを関連付けて、この単語にはこの数値が格納されていると調べれるようにしたいです。 setの時のように上手く組めず悩んでいます。 ご教授よろしくお願いいたします。

  • Excel マクロ モジュラス43 vba

    初めて質問させて頂きます。 よろしくお願い致します。 エクセルにてバーコードcode39を作成しバーコードリーダーで読み取りたいのですが私の会社はモジュラス43が付与されているcode39しか読み取ることが出来ません。 エクセルにてセルに入力した数字にモジュラス43を付与できるマクロ解るかたあれば教えて下さい。 色々試したのですがどうしても作ることが出来ませんでした、お願い致します。

  • エクセルマクロのコードを隠す

    とあるExcel2003で開けるxlsファイルを貰いました。 セルに値を入力すると、セルの背景の色が変わります。 そういうマクロを組んでいるんだと思ったのですが、 シートに対して「コードを表示する」で見ても何も書かれていません。 プロジェクト欄にはこのシートと[ThisWorkbook]しかなく、 [ThisWorkbook]にも何も書かれていません。 組んだマクロのコードを何かして隠しているのでしょうか? それともエクセルの設定でそのようなことが可能なのでしょうか。

  • マクロがコードに記録されない

     今晩は、宜しくお願いします。  エクセルのシートに写真を取り込んで、「ある大きさにサイズ変更 ⇒ 同じ大きさのセルに 移動させる」を「マクロの記録 ⇒ マクロの終了」でマクロを作成し、別のシートでも実行させ たいのです。  実は、あるエクセルファイルでは、うまく実行出来たのですが、今日、同じやり方で、別のエ クセルファイルでマクロを作成しましたが、マクロが全く実行されません。  「マクロ ⇒ 編集」からマクロコードを見ても、あるサイズに変更するところのマクロコードが 記録されていません。  これは何故でしょうか。  また、「相対参照で記録」というオプションがありますが、これが何らかの関係があるのでしょ うか。  どうしても理由がわかりません、以上、宜しくお願いいたします。

  • エクセル:VBA:マクロコード

    エクセルVBAで、 (質問1) マクロでsheet1のデータを処理して、sheet2に結果を表示するマクロで最初にsheet2をクリアーするというのはどうコードしますか。 (質問2) マクロでsheet1のセル/データを使ったりsheet2のセル/データを使ったりしますが、データはどう切り替えるのですか。 常に今どちらのシートのことを問題にしているか宣言するのですか。 その場合、 例えば今sheet1を扱ってるとした場合にsheet2のデータCells(10, "D")をsheet1のセルCells(10, "D")に入れる場合、 Cells(10, "D")=Sheets("sheet2").Cells(10, "D")こうなりますか。

  • クリッカブルマップ作成について

    クリッカブルマップ作成ソフトの中で ひとつの画像に多数のリンクを加える際に ひとつひとつリンクを作成するのではなく 座標とURLのリストを与えると一度に複数のリンクを作成してくれるものがあったら教えていただけないでしょうか? またそういったことをするためのプログラムの雛形ソース等があれば 教えていただけないでしょうか。

    • ベストアンサー
    • HTML
  • 商品コード一覧表をエクセルVBAで作成したいのです

    「商品コード一覧表」の作成を自動でしたいのです。 商品は6面の箱状のものです。(ルービックキューブみたいなものです。) 各面の色を自由に選択できるようになっています。 色は4種から選べるのですが、各面ごとに選べる色は異なっています。 たとえば・・・ 6面をそれぞれA面、B面・・・F面として、色の選択方法は以下のようになります。 A面はA1~A4の4色から1つを選択 B面はB1~B4の4色から1つを選択 C面はC1~C4の4色から1つを選択 ・ ・ F面はF1~F4の4色から1つを選択 このようにA面からF面まで、1つずつ色を選択して商品コードを作成します。 作成する商品コードは色を6つ横に並べた形になります。 (例1) 「A1B1C1D1E1F1」 (例2) 「A1B2C1D3E4F2」 (例3) 「A4B1C3D2E1F4」 商品コードのパターンは、各面4色ずつ選べるので、 4×4×4×4×4×4=4096 となります。 全部でパターンは4096通りあるのですが、 商品として製造するのは、このうち400~500種になります。 全体からすると、約1割程度のパターンを使って製造するのですが、 抽出方法に決まりがある訳では無く、適当にランダムに選び出します。 400個の商品コードを400行のテキストデータにして、 商品コード一覧(1つのファイル)として作成し、保存する。 これまで、これらの作業をエクセルを使ってせっせと作成していました。 最近になって本屋でエクセルVBAなるものを知り、自分でやろうと頑張ってみたのですが、 どうも、思うようなものを作ることができません。 VBAを使って自動でしたい内容は以下の点です。 1)作成する「商品コード一覧」の保存ファイル名を任意に設定できるようにする。  ・エクセルシートの(A1)セルに任意に入力(手作業で) 2)色のコードはあらかじめセル(4種×6面で24個のセル)に入力しておく(手作業で)  ・エクセルシートのA列に、たてに24個を入力  ・セル( A3~ A6)にA面の色コード  ・セル( A8~A11)にB面の色コード  ・セル(A13~A16)にC面の色コード  ・セル(A18~A21)にD面の色コード  ・セル(A23~A26)にE面の色コード  ・セル(A28~A31)にF面の色コード 3)作成する商品コードの「数」を指定する  ・基本的に400ですが、任意の数値を指定できるようにする  ・作成する数を400にしても500にしても、どの色コードも平均的に使用するようにしたい 4)「商品コード一覧」をテキストデータで保存する  ※商品コードごとに改行する(400個にした場合、400行のテキストデータ) 5)テキストデータの形    保存ファイル名,商品コード1    保存ファイル名,商品コード2    保存ファイル名,商品コード3    保存ファイル名,商品コード4     ・     ・    保存ファイル名,商品コード400  ※各行の先頭には「保存ファイル名」←セル(A1)に入力したもの   ↑どの行にも同じ「保存ファイル名」を入れる  ※保存ファイル名を商品コードの間にカンマを入れる 以上、よろしくお願い申し上げます。

  • Excel VBAでQRコードを生成したい

    下記のようなExcelファイルがあります。 (Webシステムからのダウンロードで作られる.xlsmのファイル) このExcelを開くときに、各シートにB4セル(データ3)をもとにQRコードを生成したいです。    A  | B   1  タイトル(AB結合) QRコード(タイトルと同様のセル、タイトルの右側に配置) 2 項目名1 データ1 3 項目名2 データ2 4 項目名3 データ3 5 項目名4 データ4 ・シートはダウンロードするデータ数によるため変動 ・各シートに1つQRコードを生成 テンプレートを利用しダウンロードしているため、指定のセルにはもともと違う値が入っています・ ActiveXコントロールでは中身のデータが更新されない&シート2枚目以降にQRコードが生成されなかったためマクロで作成したいのですが、 インターネットで調べると1シート内の連続生成のみで シートごとの繰り返し方がわからなかったので投稿させていただきました。 ご教授よろしくお願い致します。

  • 配列、ランダムを使ったVBAプログラムの作成

    10行10列のセル範囲に、1から100までの整数をランダムに配置するVBAプログラムを作成したいのですが、うまくいきません。 どなたかコードを教えていただけないでしょうか?