VBA 使用保存对话框创建新的 sheet 文件名并保存为 CSV 格式

VBA to create new sheet with file name using save dialogue box and save as CSV format

我的要求是我有一个 sheet,其中包含一些数据和一个必须执行下面所述任务的按钮。

任务是单击按钮后,它必须要求以 csv 格式将文件名和位置保存到新 sheet 中,并且必须复制活动 sheet 中的数据并粘贴到新的 sheet 中,新 sheet 的名称应该是文件的名称,以便以 CSV 格式保存。

有人可以帮忙吗?

这应该可以解决问题,根据口味进行编辑。将宏保存到新模块,然后添加一个按钮 Developer Tab > Insert > Button。将按钮分配给此宏。

Sub SaveWorksheetsAsCsv()

Dim WS As Excel.Worksheet
Dim SaveToDirectory As String

Dim CurrentWorkbook As String
Dim CurrentFormat As Long

CurrentWorkbook = ThisWorkbook.FullName
CurrentFormat = ThisWorkbook.FileFormat
' Store current details for the workbook

'Change the path, must end with \
SaveToDirectory = "C:\Users\username\Documents\test\"
For Each WS In ThisWorkbook.Worksheets
    Sheets(WS.Name).Copy
    ActiveWorkbook.SaveAs Filename:=SaveToDirectory & ThisWorkbook.Name & "-" & WS.Name & ".csv", FileFormat:=xlCSV
    ActiveWorkbook.Close savechanges:=False
    ThisWorkbook.Activate
Next
'edit/remove the for loop to suit
End Sub

信用到期。改编自这个答案: Saving excel worksheet to CSV files with filename+worksheet name using VB