2017-07-03 237 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