【发布时间】:2020-05-13 05:14:52
【问题描述】:
我需要将所有工作表保存为 CSV 文件,但四个隐藏工作表(“chip”、“play”、“other”和“offers”)和包含宏按钮的工作表(“Magic Buttons” )。
此代码保存所有工作表。我不知道从哪里开始(尽管反复试验并阅读了其他一些 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 xWs.Name <> "chip" And xWs.Name <> "play" And xWs.Name <> "Other" And xWs.Name <> "offers" Then. -
或
if xWs.Visible = xlSheetVisible Then- 但您仍然需要按名称参考魔术按钮表。 -
嗨,想知道我在这里做错了什么,因为我收到了错误 404。
If xWs.Visible = xlSheetVisible And xWs.Name <> "Magic Buttons" Then 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 If End Sub -
@BigBen 使用的解决方案的替代方案是
Select Case xWs.Name,然后是Case "chip"等。让每个案例都没有内容,然后默认案例是保存为 CSV。这使您可以在工作表名称发生变化时添加它们,而且我更喜欢该格式的可读性。两种解决方案都可以正常工作。 -
哇!谢谢@BigBen,这就是我一直遇到的问题。感谢您的帮助!
标签: excel vba csv export-to-csv