- ベストアンサー
VBAマクロでCSV出力
はじめまして、よろしくお願いします。 ExcelのVBAマクロで 特定のセルの範囲を「シート名.csv」で出力するようなプログラムを書きたいです。 例)シート名「TEST」内にあるマクロボタンを押すと A1:A10のセルの内容が「TEST.csv」(アスキー形式ならなんでも) に出力される。 どういうやり方があるか、お勧めのサイト等、 ご教授いただけないでしょうか? 以上、よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
こんなところでどうでしょう。
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
コード数はこんなに少なくてできます。 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行分の文字列としての編集が必要。
お礼
早速のご回答ありがとうございます。 参考にさせていただきます。
お礼
早速のご回答ありがとうございます。 かなり参考になります。