【发布时间】:2020-01-21 23:40:16
【问题描述】:
我想将活动工作表(尽管工作表名称)复制到一个新的工作簿,以便在没有公式的情况下保存。根据VBA Copy a Worksheet to a New Sheet without Formulas 将工作表复制到新工作表并添加一些代码:
Public Sub CopySheetAndRename()
Dim newName As String
On Error Resume Next
newName = InputBox("Enter the name for the copied worksheet")
If newName <> "" Then
ActiveSheet.Copy After:=Worksheets(Sheets.Count)
On Error Resume Next
ActiveSheet.Name = newName
Worksheets(newName).UsedRange.Value = Worksheets(newName).UsedRange.Value
End If
End Sub
-- 然后我尝试添加对话框 Application.Dialogs(xlDialogSaveAs).Show 在“end if”之前并将“ActiveSheet.Name”更改为“ThisWorkbook.ActiveSheet.Name”,但它不起作用。 (或者至少它将工作表复制到新工作簿中,但不传输值)。关于如何运行代码的任何想法?提前谢谢!
【问题讨论】:
-
ActiveSheet.Copy After:=Worksheets(Sheets.Count)不会将工作表复制到新工作簿中。