Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 复制工作表模板。在工作表中添加标题并重命名工作表,两者都来自列表_Vba_Excel_Reference_Copy Paste - Fatal编程技术网

Vba 复制工作表模板。在工作表中添加标题并重命名工作表,两者都来自列表

Vba 复制工作表模板。在工作表中添加标题并重命名工作表,两者都来自列表,vba,excel,reference,copy-paste,Vba,Excel,Reference,Copy Paste,我正在尝试制作同一个工作表模板的许多副本,其中工作表名称和标题需要从列表中提取。我试着在下面说明我的愿望 基本上,我有一个模板,其中我手动将工作表名称重命名为1,标题为Test 1: 我想这是某种程度上自动化,因为我有大约136张我需要复制和重命名,以及添加标题。 我认为这些步骤是:复制工作表1,将新工作表从Vejnavne列表重命名为2,添加标题测试2。重复3、4、5次。等等 现在名称不应该是测试1,2。。。。这些都是经过审查的,为什么我也需要从Liste med vejnavne中的列表

我正在尝试制作同一个工作表模板的许多副本,其中工作表名称和标题需要从列表中提取。我试着在下面说明我的愿望

基本上,我有一个模板,其中我手动将工作表名称重命名为1,标题为Test 1:

我想这是某种程度上自动化,因为我有大约136张我需要复制和重命名,以及添加标题。

我认为这些步骤是:复制工作表1,将新工作表从Vejnavne列表重命名为2,添加标题测试2。重复3、4、5次。等等

现在名称不应该是测试1,2。。。。这些都是经过审查的,为什么我也需要从Liste med vejnavne中的列表中提取数据。我无意中发现了这个复制工作表的代码片段,它说我需要重命名工作表而不是工作表1,我想一定有可能从我的工作表Liste med vejnavne中提取工作表名称,A3-A138列

Sub Copier()
    Dim x As Integer

   x = InputBox("Enter number of times to copy active sheet")
   For numtimes = 1 To x
      'Loop by using x as the index number to make x number copies.
      ActiveWorkbook.ActiveSheet.Copy _
         After:=ActiveWorkbook.Sheets("Sheet1")
         'Put copies in front of Sheet1.
         'Replace "Sheet1" with sheet name that you want.
   Next
End Sub

复制工作表后,新副本将变为活动副本,因此可以为该活动工作表指定所需的名称,并在单元格A1中设置值

Sub Copier()
    Dim x As Long
    Dim numtimes As Long
    Dim wsTemplate As Worksheet

    'Set which sheet is the template
    Set wsTemplate = ActiveSheet

    x = InputBox("Enter number of times to copy active sheet")
    For numtimes = 1 To x
        wsTemplate.Copy After:=ActiveWorkbook.Sheets("Sheet1")
        ActiveSheet.Name = Worksheets("Liste med vejnavne").Cells(numtimes + 2, "A").Value
        ActiveSheet.Cells(1, "A").Value = Worksheets("Liste med vejnavne").Cells(numtimes + 2, "B").Value
   Next
End Sub

我看不到你的图片,因为它们不是问题的一部分,但听起来确实可行。这听起来像是我过去做过的事情。如果您在编写代码时遇到问题,请发布一个问题,我们将很乐意为您提供帮助。非常感谢您的回复。我添加了一个简单的拷贝表片段,我正在考虑调整。请参阅上面更新的帖子:这非常有效。但是,它有没有办法忽略警告,因为存在一些警告。要移动或复制的公式或工作表的名称为“Plan”,该名称已存在于目标工作表中。您想使用此版本的名称吗?。由于我希望它是一个完整的副本原件,与相同的参考,我猜我的答案应该是肯定的?