VBA:复制表单mantain定义的名称

我有一个具有定义名称的Excel表,我想通过复制定义的名称来复制它与VBA。 我能怎么做?

我目前的macros来复制表单:

Sub myMacro() Const BASE_NAME As String = "MySheet" Dim sheet_name As String Dim i As Integer Dim num_text As String Dim new_num As Integer Dim max_num As Integer Dim new_sheet As Worksheet ' Find the largest number in a sheet name after the ' base name. max_num = 0 For i = 1 To Sheets.Count sheet_name = Sheets(i).Name If Left$(sheet_name, Len(BASE_NAME)) = BASE_NAME _ Then num_text = Mid$(sheet_name, Len(BASE_NAME) + 1) new_num = Val(num_text) If new_num > max_num Then max_num = new_num End If Next i ' Make a new sheet with a new number. Set new_sheet = Sheets.Add(after:=Sheets(Sheets.Count)) new_sheet.Name = BASE_NAME & Format$(max_num + 1) new_sheet.Select Sheets("MySheet_template").Range("A1:DQ1109").Copy Destination:=Sheets(new_sheet.Name).Range("A1") End Sub 

试试这个 – 一个稍微不同的方法

 Sub myMacro() Application.ScreenUpdating = False Application.DisplayAlerts = False Dim sh As Shape, strtSh As Worksheet Set strtSh = ActiveSheet Sheets("MySheet_template").Copy after:=Sheets(Sheets.Count) ActiveSheet.Name = "MySheet" & Sheets.Count - 1 For Each sh In ActiveSheet.Shapes sh.Delete Next sh strtSh.Select Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub