这是我的代码
Public Sub SaveAsA1()
With Application.FileDialog(msoFileDialogSaveAs)
.InitialFileName = ActiveWorkbook.Sheets("Sheet1").Range("R1").Value
.Show
ActiveWorkbook.SaveAs filename:=Range("R1") & ".xlsm", FileFormat:=52
End With
MsgBox "File Saved!"
End Sub
但是当我选择一个位置时,它不会覆盖单元格值,而是会产生运行时错误#1004。
请有人帮忙吗?
您可以看到两个可能的问题:
FileDialog
方法获取文件名,但随后使用单元格中的任何内容作为SaveAs
名称,无论用户刚刚选择了什么。以下是对代码的建议修复,用于将"R1"
的单元格内容设置为用户在保存文件之前选择的值:
Public Sub SaveAsA1()
With Application.FileDialog(msoFileDialogSaveAs)
.InitialFileName = ActiveWorkbook.Sheets("Sheet1").Range("R1").Value
.Show
ActiveWorkbook.Sheets("Sheet1").Range("R1").Value = Trim(.SelectedItems(1))
ActiveWorkbook.SaveAs Filename:=ActiveWorkbook.Sheets("Sheet1").Range("R1").Value, FileFormat:=52
End With
MsgBox "File Saved!"
End Sub