VBAでExcelの特定範囲をCSV出力(UTF-8)
 Author: ion

Excelの特定範囲をCSVとして出力するVBAマクロ。
変数startRow, startCol, lastRow, lastColに囲まれた範囲を対象とする。
引数化するなりして使ってください。

Function exportCsv(ByVal filename As String)
    Dim lastRow As Long, row As Long, lastCol As Integer, col As Integer
    Dim fileNumber As Integer, csvFile As Variant
    
    csvFile = filename
    startRow = 1
    startCol = 1
    lastRow = 15
    lastCol = 15
    
    Dim adoSt As Object
    Set adoSt = CreateObject("ADODB.Stream")
    Dim strLine As String
    With adoSt
        .Charset = "UTF-8"
        .Open
        For row = startRow To lastRow
            strLine = ""
            For col = startCol To lastCol - 1
                Debug.Print Cells(row, col).Value
                Dim replacedString As String
                replacedString = Replace(Cells(row, col).Value, vbLf, "\r\n")
                strLine = strLine & """" & replacedString & """" & ","
            Next
            strLine = strLine & Cells(row, col) & """"
            .WriteText strLine, 1
        Next
        .SaveToFile csvFile, 2
        .Close
    End With
    MsgBox "出力:" & csvFile
End Function