将工作表另存为 CSV - 忽略隐藏的工作表或带有宏的工作表

Save sheets as CSV - ignoring hidden sheets or sheets with macros

我需要将所有 sheet 保存为 CSV 文件,除了四个隐藏的 sheet("chip"、"play"、"other"、 & "offers") 和包含宏按钮 ("Magic Buttons") 的 sheet。

此代码保存所有 sheet。我不知道从这里去哪里(尽管反复试验并阅读了其他一些 Stack Overflow 问题)。

Sub SaveSheets()
'
' SaveSheets Macro
' Saves sheets as individual CSV files
'
Dim csvPath As String
csvPath = "C:\Daily Batch Files"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each xWs In ThisWorkbook.Sheets
    xWs.Copy
    Application.ActiveWorkbook.SaveAs Filename:=csvPath & "\" & xWs.Name & ".csv", FileFormat:=xlCSV
    Application.ActiveWorkbook.Close False
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub

保存的条件需要进入循环。

使用If...End If

For Each xWs In ThisWorkbook.Sheets
    If xWs.Name <> "chip" And xWs.Name <> "play" And _
        xWs.Name <> "Other" And xWs.Name <> "offers" And _
        xWs.Name <> "Magic Buttons" Then

        xWs.Copy
        Application.ActiveWorkbook.SaveAs Filename:=csvPath & "\" & xWs.Name & ".csv", FileFormat:=xlCSV
        Application.ActiveWorkbook.Close False
    End If
Next

使用Select Case...End Select

For Each xWs In ThisWorkbook.Sheets
    Select Case xWs.Name
        Case "chip", "play", "Other", "offers", "Magic Buttons"
        Case Else
            xWs.Copy
            Application.ActiveWorkbook.SaveAs Filename:=csvPath & "\" & xWs.Name & ".csv", FileFormat:=xlCSV
            Application.ActiveWorkbook.Close False
    End Select
Next