• ベストアンサー

VBAマクロでCSV出力

はじめまして、よろしくお願いします。 ExcelのVBAマクロで 特定のセルの範囲を「シート名.csv」で出力するようなプログラムを書きたいです。 例)シート名「TEST」内にあるマクロボタンを押すと  A1:A10のセルの内容が「TEST.csv」(アスキー形式ならなんでも)  に出力される。 どういうやり方があるか、お勧めのサイト等、 ご教授いただけないでしょうか? 以上、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#60992
noname#60992
回答No.1

こんなところでどうでしょう。  

参考URL:
http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_040.html
kal1119
質問者

お礼

早速のご回答ありがとうございます。 かなり参考になります。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

コード数はこんなに少なくてできます。 Sub test01() d = 10 Open "C:\Documents and Settings\OTO\My Documents\testcsv.csv" For Output As #1 For i = 1 To d Write #1, Cells(i, "A"), Cells(i, "B"), Val(Cells(i, "C")) Next i Close #1 End Sub -- 例データ aaabbb ss 1 aa d 2 dd f 3 ff g 4 gh hh 5 jjk jj 6 sd k 1 ss a 2 結果 "aaabbb","ss",1 "aa","d",2 "dd","f",3 "ff","g",4 "gh","hh",5 "jjk","jj",6 "sd","k",1 "ss","a",2 メモ帳で確認できます。 === 注意 d = 8 は8行をプログラムにセットしてますが 「あるだけ」の行数なら d=Range("A65536").End(xlUp).Rpw -- Val(Cells(i, "C"))は数字列の項目はこうすると1,のように ””が付かず、Valを除くと””が付く。 CSVファイルにはどちらの方式もあると思う。 列数が多いと、Print #というのでもできるが、1行分の文字列としての編集が必要。

kal1119
質問者

お礼

早速のご回答ありがとうございます。 参考にさせていただきます。

関連するQ&A