将 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

相关内容