• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelマクロ CSV出力)

ExcelマクロでCSV出力する方法

このQ&Aのポイント
  • Excelマクロを使用して、指定のデータをCSV形式で出力する方法について説明します。
  • マクロでは、「データ」シートのA3からO列の最終行までのデータを取得し、指定のパスにCSVファイルとして出力します。
  • また、A列が空白である行は無視され、出力されないようにするロジックの追加方法も説明します。

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

  • ベストアンサー
  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

For intRow = 3 To .Range("a" & Rows.Count).End(xlUp).Row 'この行も一部変更しているので注意してください。↑ If Cells(intRow, 1).Value <> "" Then Print #1, .Cells(intRow, 1) & "," & .Cells(intRow, 2) & "," & .Cells(intRow, 3) & "," & .Cells(intRow, 4) & "," & .Cells(intRow, 5) & "," & .Cells(intRow, 6) & "," & .Cells(intRow, 7) & "," & .Cells(intRow, 8) & "," & .Cells(intRow, 9) & "," & .Cells(intRow, 10) & "," & .Cells(intRow, 11) & "," & .Cells(intRow, 12) & "," & .Cells(intRow, 13) & "," & .Cells(intRow, 14) & "," & .Cells(intRow, 15) End If Next intRow にしてみてください。

148289
質問者

お礼

Excelのバージョンの問題ではありませんでした。 ご回答を参考にマクロを完成させることができました。 本当にありがとうございました。

148289
質問者

補足

ご回答ありがとうございます。 教えていただいたとおりに変更してみたのですが、 実行時エラー'1004'; アプリケーション定義またはオブジェクト定義のエラーです。 というエラーメッセージが出てしまいます。 ちなみにExcel2000で実行していますが、問題ありますでしょうか?

その他の回答 (3)

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.4

ふと思ったのですが 該当コードを With Sheets("データ") と End With の中に入れ込んでますよね

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.3

2000でもいけると思ったのですが… For intRow = 3 To .Range("a" & Rows.Count).End(xlUp).Row ↓ For intRow = 3 To .Range("A65535").End(xlUp).Row If Cells(intRow, 1).Value <> "" Then ↓ If Range("A" & intRow).Value <> "" Then に変更したらどうなるでしょう。

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

Print #の塊をまたぐ形で、 For intRow ・・・ If セルが空白でなければ Print #1、・・・ End If Next intRow とするだけでは? 質問のコードはどこかを引き写したのかな。 質問のコード内容と釣り合わない質問だな。 1-15列まで途切れないらしいから For j=1 to 15 s=s & Cells(i,j) & "," Next j s=Left(s,Len(s)-1) とネストすれば、読み易くなるのでは。 一々各列を羅列するのは稚拙。 intRowもiにした。

148289
質問者

お礼

ご回答ありがとうございました。 全くの初心者で、他のコードを参考に作ったものでして。 一から勉強が必要ですね。

関連するQ&A