Excel 使用新名称复制工作表

Excel 使用新名称复制工作表,excel,vba,Excel,Vba,非常感谢你帮我解决这个小问题 我想用我想要的名称重复excel工作表多次。我可以通过让它问我名字应该是什么来做到这一点,但是有没有一种方法可以通过在这20个左右的标签名中编码来做到这一点呢 以下是我到目前为止得到的- Dim name As String Dim x As Integer x = ActiveWorkbook.Worksheets.Count name = Application.InputBox("Put down the name", "Add worksheet")

非常感谢你帮我解决这个小问题

我想用我想要的名称重复excel工作表多次。我可以通过让它问我名字应该是什么来做到这一点,但是有没有一种方法可以通过在这20个左右的标签名中编码来做到这一点呢

以下是我到目前为止得到的-

Dim name As String 
Dim x As Integer 
x = ActiveWorkbook.Worksheets.Count 

name = Application.InputBox("Put down the name", "Add worksheet") 
If name = "" Then Exit Sub 
Worksheets(1).Copy after:=Worksheets(x) 
ActiveSheet.Name = name 
如果有可能的话,请告诉我。非常感谢你的帮助


谢谢。

您可以插入一个模块

其要点是要做到以下几点:

Click Insert > Module, and paste the following code in the Module Window.

     Sub Copier ()
     Dim x As Integer
     x = InputBox("Enter number of times to copy Sheet1")
     For numtimes = 1 To x
     ActiveWorkbook.Sheets("Sheet1").Copy _
     After:=ActiveWorkbook.Sheets("Sheet1")
     Next
     End Sub

你需要做一个循环

Dim ws As Worksheet
Set ws = Worksheets("WorksheetWithNames")
Dim y As Integer

For y = 1 To 10 ' < enter the number of sheets you want.
    'copy the sheet

    'rename the sheet
    'assuming you have names in column A
    ActiveSheet.Name = ws.Cells(y, 1)

Next
Dim ws As工作表
设置ws=工作表(“工作表名称”)
Dim y作为整数
对于y=1到10'<输入所需的图纸数量。
“复制这张纸
'重命名工作表
'假设您在A列中有名称
ActiveSheet.Name=ws.Cells(y,1)
下一个

那么您希望如何指定名称?你可以简单地给它取一个这样的名字:ActiveSheet.name=“我的新工作表”,但你已经知道了是吗?这是我真正的问题。我有一个我想引用的名字列表,但不知道如何引用。所以你可以把这个列表放在工作表上,然后放到那里。或者你可以把列表放在一个文本文件中,然后从那里得到它。或者,您可以直接在代码中键入列表,然后从那里执行操作。你想做什么?我认为将它们放在工作表中是最简单的。理想的做法是将它们放在工作表中——我希望将它们集中在一个文件中。任何帮助都将不胜感激。如果此答案对您有帮助,请单击复选标记将其作为答案接受。如果你愿意,你也可以投票。非常感谢兄弟。肯定有帮助。