- ベストアンサー
ExcelマクロでCSV出力する際に行に連番をつける方法
- Excelマクロを使用してCSVファイルを出力する際、行に連番を付ける方法を教えてください。
- Excelのデータシートの指定された範囲の行にデータが入っている場合のみ、CSVファイルに出力します。
- また、データシートの特定のセルの値によって、CSVファイル内の特定の項目を置換する方法も知りたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
With Sheets("データ") Print #1, "区分" & "," & "ID" & "," & "名前" For intRow = 17 To .Range("B" & Rows.Count).End(xlUp).Row If Trim(.Cells(intRow, 2).Value) <> "" And .Cells(intRow, 2).Value = "ああ" Then n = n + 1 Print #1, Replace(.Cells(intRow, 2), "ああ", "1") & "," & Trim(.Cells(intRow, 3)) & "," & Trim(.Cells(intRow, 4)) & "," & n ElseIf Trim(.Cells(intRow, 2).Value) <> "" And .Cells(intRow, 2).Value = "いい" Then n = n + 1 Print #1, Replace(.Cells(intRow, 2), "いい", "2") & "," & Trim(.Cells(intRow, 3)) & "," & Trim(.Cells(intRow, 4)) & "," & n End If Next intRow End With
その他の回答 (1)
- watabe007
- ベストアンサー率62% (476/760)
n = n + 1 Print #1, ・・・・・ Trim(.Cells(intRow, 4)) & "," & n
補足
ご回答ありがとうございます。 ご回答いただいた方法は既に試みたのですが、実行すると 1,9999,太郎,1 2,8888,花子,1 1,7777,一郎,1 1,6666,次郎,1 というように、カウントアップされずに全て「1」になってしまいます。
お礼
ご回答により解決しました。 ありがとうございました。