Excel シートを CSV にエクスポートする - ただし最初の 10 行は除外する

Excel シートを CSV にエクスポートする - ただし最初の 10 行は除外する

[![黄色のシートはエクスポート時に無視します。Ws.rows コマンドは最初の 10 行を削除しますが、VBA スクリプトはすべてのシートを CSV としてエクスポートします。これは望ましくありません。すべてのシートにデータが含まれています。スプレッドシートを添付しました。最初のページはインデックスで、下にシートが表示されます。

Sub ExportCSV()

Application.DisplayAlerts = False
ActiveWorkbook.Save

Dim ws As Worksheet
Dim path As String

path = ActiveWorkbook.path & "\" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)

    For Each ws In ActiveWorkbook.Worksheets
        ws.Rows("1:10").Delete
        If ws.Name <> "Document Control" And ws.Name <> "Index sheet" Then           
            'With ws
                ws.SaveAs filename:=path & "_" & ws.Name & ".csv", FileFormat:=xlCSV, CreateBackup:=False
            'End With
        End If
    Next ws
Application.DisplayAlerts = True
End Sub

答え1

シートの一部だけを保存することはできません。エクスポートする前に、不要な範囲を削除する必要があります。
元のワークブックを保存しているので、データが失われることはありません。

ws.Rows("1:10").Delete

関連情報