У меня есть две возможные проблемы, которые я вижу:
- Вы получаете имя файла методом
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