エクセルのデータをcsvファイルにしメモ帳で開くVBA

ChatGPTに
「エクセルのシート1のA1からE10のデータをCSVファイルにし、メモ帳で開くVBAコードを書いてください。」
とお願いしたところ、以下のコードを書いてもらいました。


Sub ExportToCSVAndOpenNotepad()
    Dim ws As Worksheet
    Dim rng As Range
    Dim csvFileName As String
    Dim csvFilePath As String
    Dim cell As Range
    Dim line As String
    Dim fileNum As Integer
    
    ' シート1のA1:E10の範囲を設定
    Set ws = ThisWorkbook.Sheets("test")
    Set rng = ws.Range("A1:D13")
    
    ' CSVファイルのパスと名前を設定
    csvFileName = "exported_data.csv"
    csvFilePath = ThisWorkbook.Path & "\" & csvFileName
    
    ' CSVファイルを書き込みモードで開く
    fileNum = FreeFile
    Open csvFilePath For Output As fileNum
    
    ' データを書き出す
    Dim Row As Range
    For Each Row In rng.Rows
        line = ""
        For Each cell In Row.Cells
            line = line & cell.Value & ","
        Next cell
        ' 最後のカンマを削除して改行
        line = Left(line, Len(line) - 1)
        Print #fileNum, line
    Next Row
    
    ' ファイルを閉じる
    Close fileNum
    
    ' メモ帳でCSVファイルを開く
    Shell "notepad.exe " & csvFilePath, vbNormalFocus
End Sub

 

「Dim Row As Range」だけ途中にあるのは、書き漏れていたからです。
pythonコードを利用しているようなので、こういうところは抜けてしまうんですね。

記事は以上です。
ご覧頂きありがとうございました。

おすすめの記事