2017-07-03 231 views
0

我是VBA的新手,我试图对此主题进行一些研究,但没有运气。我有一张有多张工作表的工作簿,但我只想将工作表6以CSV文件的形式保存到某个位置,而无需打开新文件。我会如何去使用VBA链接到类似按钮的东西?感谢将单张保存为CSV文件

+0

你是什么意思*“而无需打开一个新的文件” *?您可以使用'Sheet6.SaveAs“foo.csv”,xlCSV',但这将成为您当前编辑的文档,旧的将关闭。你想保持原来的工作簿不开放吗? –

+0

是的我正在尝试将一张工作表保存为上传到数据库的CSV文件。但我不想关闭原来的工作簿。我不想让一本书2以CSV文件的形式打开。我希望它保存在相同的名称下,但有 - CSV – Bsmith

+0

[This](https://stackoverflow.com/questions/44783923/excel-macro-multiple-sheets-to-csv/44792295#44792295)正在应用多张。你只能工作一张纸。 –

回答

1

创建一个按钮,并将其链接到该宏:

Sub Sheet6ToCSV() 
    Application.ScreenUpdating = False: Application.EnableEvents = False: Application.DisplayAlerts = False 
    On Error GoTo Cleanup 

    Dim fold As String: fold = "C:\SO\" 
    Dim fName As String: fName = "MySheet6" 

    Worksheets("Sheet6").Copy 
    With ActiveWorkbook 
    .SaveAs fold & fName 
    .Close False 
    End With 

Cleanup: 
    Application.ScreenUpdating = True: Application.EnableEvents = True: Application.DisplayAlerts = True 
End Sub