vba使用模板为包含数据的第一行中的每个单元格值添加新工作表

时间:2019-04-29 03:21:57

标签: excel vba

我需要一个简单的Excel,它将使用“第一行”中所有列中的单元格为“提取的数据”表中的每个单元格值创建3个新表,以复制“封面模板”,“数据模板”和“清单模板”工作表。包含数据。

在复制模板工作表之前要复制到每个模板工作表中另一个单元格的单元格值

新的工作表名称为:

  • 单元格值+“ COVER”用作新工作表名称
  • 单元格值+“数据”用作新的工作表名称'=单元格值+“清单”用作新的工作表名称

在创建新作品并命名后我需要

  • 对于A列中包含“ 0”的每个单元格,所有行都将被隐藏
  • 包含空白的行不得隐藏

预先感谢

Sub NewSheets_PFTold()
    Dim i As Integer
    Dim ws As Worksheet
    Dim sh As Worksheet
    Set ws = Sheets("DATA")
    Set sh = Sheets("EXTRACTED DATA")

    Application.ScreenUpdating = 0

    Set sh = Sheets("EXTRACTED DATA")

    For i = 2 To sh.Range("A1" & Columns.Count).End(xlToLeft).Column
        If Worksheets("EXTRACTED DATA").Column(i).ColumnWidth > 0 Then
           Worksheets("EXTRACTED DATA").Cells(1, i) = Worksheets("COVER").Cells(e, 3).Value
           Worksheets("EXTRACTED DATA").Cells(1, i) = Worksheets("DATA").Cells(b, 3).Value
           Worksheets("EXTRACTED DATA").Cells(1, i) = Worksheets("CHECKLIST").Cells(b, 3).Value
           Sheets("COVER TEMPLATE").Copy after:=sh
           ActiveSheet.Name = sh.Range("1" & i).Value & " COVER "
           Sheets("DATA TEMPLATE").Copy after:=sh
           ActiveSheet.Name = sh.Range("1" & i).Value & " DATA "
           Sheets("CHECKLIST TEMPLATE").Copy after:=sh
           ActiveSheet.Name = sh.Range("1" & i).Value & " CHECKLIST "
        End If
    Next i
End Sub

0 个答案:

没有答案