VBA:重命名复制工作表
我这行代码复制工作表到新工作簿:VBA:重命名复制工作表
OrderForm.Copy ' copy worksheet to new workbook
我'好吧,如果它在标题栏上显示为Book n,我不想自动保存它,但是我想要的是当用户决定保存时具有默认名称(默认为.xlsx)它,就像这样:
使用BeforeSave事件捕获用户保存,然后用初始值显示自己的对话框(如下所示):
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim fName As String
Cancel = True
fName = Application.GetSaveAsFilename("Default Name", _
"Excel Workbook (*.xlsx), *.xlsx," & _
"Macro Enabled Workbook (*.xlsm), *xlsm")
ThisWorkbook.SaveAs fName
End Sub
我该把这个放在哪里?正如我所提到的,我希望它适用于当我的宏运行代码OrderForm.Copy时创建的工作簿。 – PuggyLongLegs
@PuggyLongLegs尝试在此构建代码:(http://www.mrexcel.com/forum/excel-questions/428213-programmatically-inserting-worksheet-change-event.html)。它显示了如何将代码添加到其他模块,例如您创建的新工作簿。否则,您可以创建自己的事件处理类,并使用对新工作簿的事件绑定引用对其进行实例化。像这样:(http://*.com/questions/31686542/addign-an-event-for-another-wb-from-a-module) – Mikegrann
查找到'Application.GetSaveAsFilename '。 –