从单元格值中提示文件名

时间:2015-11-20 18:56:40

标签: excel vba excel-vba

我在Excel工作表上放置一个按钮,该按钮将当前工作表保存为单独的文件。以下是我正在使用的代码:

Sub SaveWorkbook()

ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\username\Downloads\New folder" & ActiveSheet.Name & ".xlsx", FileFormat:= _
xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False

End Sub

这里不是工作表名称(ActiveSheet.Name),而是要放置来自单元格的文本(D2:E2,两个单元格都已合并)。

有可能吗?

此外,我已明确提到路径。

是否可以提示选择保存路径?

在选择路径时,可以从单元格中获取名称吗?

更新

Sub SelectFolder()
    Dim diaFolder As FileDialog

    Set diaFolder = Application.FileDialog(msoFileDialogFolderPicker)
    diaFolder.AllowMultiSelect = False
    diaFolder.Show
    ActiveSheet.Copy
    ActiveWorkbook.SaveAs Filename:= _
    diaFolder & ActiveSheet.[d2] & ".xlsx", FileFormat:= _
    xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False

    Set diaFolder = Nothing
End Sub

你能看出这里的错误是什么吗?文件未保存在所选路径中。

1 个答案:

答案 0 :(得分:0)

ActiveSheet.Name替换为ActiveSheet.[d2]

这将从合并的单元格中提取值。

只要从用户那里获取路径,就可以轻松实现:

Application.FileDialog(msoFileDialogFolderPicker)

https://stackoverflow.com/a/5975453/3566998