プロが教えるわが家の防犯対策術!

当方、Excel VBAに関しては全くのド素人でございます。
お客さんに頼まれて、次のことをやりたいのですが、どうしたらよいか途方に暮れています。

(-50,-50)~(50,50)までの2mピッチの合計2601個のxyz座標データ(txt)をSheetに読み込み。
A列=x
B列=y
C列=z

そしてAD列・26行のセルを座標(0,0)として、セルにz値を展開したいのです。
横軸=x
縦軸=y
BC列・1行が(50,50)
E列・51行が(-50,-50)

以上のことをExcel VBAでやりたいのですが・・・
可能でしょうか?
宜しくお願いします。

A 回答 (2件)

>xyz座標データ(txt)をSheetに読み込み。



テキストファイルの具体的な記載内容を確認してから「シートに読み込む」の部分を作成してください。
・カンマ区切りのCSVファイル?
・カンマ区切りだけど拡張子がtxtになっているファイル?
・タブ切りテキストファイル?
・その他のフォーマット?
・そもそもそのテキストファイルは,ホントに先頭からいきなりXYZ座標の羅列で始まっているのか?
ご自分で,新しいマクロの記録で実際にサンプルのテキストをシートに取り込んでみる作業をマクロに録って,利用してみるのでも十分できます。
やってみてもどうしても失敗するときは,実際のサンプルをコピーしてご質問に掲示し,新たなご質問を投稿してご相談なさってみてください。
この部分が完成するまでは,データをエクセルシート上に手動で開いて,しのいでください。


次のマクロはABC列の1行目から,XYZのデータが2601個きちんと入ったあとの作業をします。

Sub macro1()
 dim i
 on error resume next
 for i = 1 to 2601
  if cells(i, "C") <> "" Then
   range("AD26").offset(-cells(i, "B") / 2, cells(i, "A") / 2) = cells(i, "C")
  end if
 next i
end sub

ALT+F11を押し,挿入メニューから標準モジュールを挿入し,コピーして貼り付けて登録しておきます。
    • good
    • 0
この回答へのお礼

keithin様、ご回答有難うございます。

座標txtはスペース区切りとなっております。
-50.00 -50.00 0.00
-50.00 -48.00 0.00
-50.00 -46.00 0.00



-50.00 -8.00 0.00
-50.00 -6.00 0.00
-50.00 -4.00 0.00
-50.00 -2.00 0.00
-50.00 0.00 0.00




keithin様のおっしゃる通り、新しいマクロの記録でxyzのtxtをSheetに取り込んでみる作業を
マクロに記録して作業を進めてまいります。
また、つまずいたら質問させて頂きます。
有難うございます。

お礼日時:2011/05/26 11:48

私が、力が無いのか、よく判らない質問だ。

VBAやエクセルとしては珍しい質問のようだ。
(テキストデータの読み込み)
>(-50,-50)~(50,50)までの2mピッチの合計2601個のxyz座標データ(txt)をSheetに読み込み。
A列=x
B列=y
C列=z
ーー
テキストデータを読み込み、空白かカンマ、TABなどDelimiterでSplit(関数を使い)して、各セルに納めていけば仕舞い。
データの中身が>(-50,-50)~(50,50)までの2mピッチの合計2601個のxyz座標データ、というだけで、プログラムには関係ないことはご存知だろう。
>お客さんに頼まれて、であれば、その方面のプロではないのですか。であれば、ここまでは聞くまでも無い。
WEBででも「VBA テキストファイル エクセル 読み込み」でコード例が出てくるだろう。
質問の書きぶりからして、質問者は、プログラム作成経験はあるのでしょうか。ここが肝心で、あるならよく知っている人も
回答しようという気持ちになるかも。
ーー
(その後のしたいこと)
>セルにz値を展開したいのです
この「展開」の意味が判らない。見た目でシート画面を使ってXYZ座標で、「透視図」「斜視図」のようなものを描きたいということか?
ーー
エクセルには「等高線」というグラフの種類がある。座標を指定できる立体に関連して、それぐらいしかエクセルとしてのメリットは無いのでは。
エクセルVBAはVB6相当ということなので、熟達者ならVB6で出来ることならほとんどできるとは言うものの、
VBA初心者ではおぼつかないのでは。
このカテゴリの回答者は、文系で、テキストの扱いに慣れた人が多いのではと、私見で推測する。
理系のカテに質問したらどうだろう。
VBAやVBや他の言語が問題ではなく、座標処理・画像処理の特有の経験が必要ではないかな。
わかる人も質問コーナーの文字数制限で解説はむつかしいのでは。
ーー
http://q.hatena.ne.jp/1127355417
などの記事もあります。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!