Sub 複数の列を追加()
    Dim folderPath As String
    Dim mCode As Variant
    Dim formulaText As String
    Dim ws As Worksheet
    Dim lo As ListObject

    folderPath = ThisWorkbook.Path & "\"

    mCode = Array( _
        "let", _
        "    ソース = Csv.Document(File.Contents(""" & folderPath & "7-5-売上元データ(Noなし).csv""), [Delimiter="","", Encoding=932, QuoteStyle=QuoteStyle.None]),", _
        "    ヘッダー昇格 = Table.PromoteHeaders(ソース, [PromoteAllScalars=true]),", _
        "    型変換 = Table.TransformColumnTypes(ヘッダー昇格, {{""受注日"", type date}, {""単価"", Int64.Type}, {""数量"", Int64.Type}, {""売上金額"", Int64.Type}}),", _
        "    インデックス追加 = Table.AddIndexColumn(型変換, ""No"", 1, 1, Int64.Type),", _
        "    ランク追加 = Table.AddColumn(インデックス追加, ""ランク"", each if [売上金額] >= 10000 then ""A"" else ""B""),", _
        "    列並べ替え = Table.ReorderColumns(ランク追加, {""No"", ""受注日"", ""担当者"", ""商品名"", ""単価"", ""数量"", ""売上金額"", ""ランク""})", _
        "in", _
        "    列並べ替え" _
    )

    formulaText = Join(mCode, vbCrLf)

    ThisWorkbook.Queries.Add _
        Name:="複数の列を追加", _
        Formula:=formulaText

    Set ws = ThisWorkbook.Worksheets("Sheet1")

    Set lo = ws.ListObjects.Add( _
        SourceType:=0, _
        Source:="OLEDB;Provider=Microsoft.Mashup.OleDb.1;" & _
                "Data Source=$Workbook$;" & _
                "Location=複数の列を追加;" & _
                "Extended Properties=""""", _
        Destination:=ws.Range("A1") _
    )

    lo.Name = "T_複数の列を追加"

    With lo.QueryTable
        .CommandType = xlCmdSql
        .CommandText = Array("SELECT * FROM [複数の列を追加]")
        .Refresh BackgroundQuery:=False
    End With

    ThisWorkbook.Queries("複数の列を追加").Delete
End Sub