1

在制作宏方面我是新手,所以我迫切需要帮助。我有两张工作表,一张是每天都会用新数据更新的数据,另一张是一个模板,数据需要相应地按每一行填写。但是,模板需要是 A 列中唯一名称的副本,并用该名称重命名。如果模板工作表已经存在,它将从匹配的名称中获取信息并将某些信息复制到模板中。如果不存在工作表(模板),那么它将根据“A”列中的唯一值创建一个新工作表。

工作表(数据)中的数据首先需要从“I”列中的“赎回”和“完全清算”两种类型过滤,然后才能开始传输数据。

从工作表(数据)到工作表(模板),

“A”列将是新的工作表(模板)名称,

列“E”将被放入工作表(模板)列“A”中,从第 4 行开始,

“F”列将在“B”列中,

“B”列将在“C”列中,

“O”列将在“D”列中,

“L”列将在“T”列中。

到目前为止,我将它作为一个宏,但它不会复制模板,它需要整行而不是我需要的特定列。

Sub PagesByDescription()
Dim rRange As Range, rCell As Range
Dim wSheet As Worksheet
Dim wSheetStart As Worksheet
Dim strText As String
Set wSheetStart = ActiveSheet
wSheetStart.AutoFilterMode = False
'Set a range variable to the correct item column
Set rRange = Range("A1", Range("A65536").End(xlUp))

    'Add a sheet called "UniqueList"
    Worksheets.Add().Name = "UniqueList"

       'Filter the Set range so only a unique list is created
        With Worksheets("UniqueList")
            rRange.AdvancedFilter xlFilterCopy, , _
             Worksheets("UniqueList").Range("A1"), True

             'Set a range variable to the unique list, less the heading.
             Set rRange = .Range("A2", .Range("A65536").End(xlUp))
        End With

        On Error Resume Next
        With wSheetStart
            For Each rCell In rRange
              strText = rCell
             .Range("A1").AutoFilter 1, strText
                Worksheets(strText).Delete
                'Add a sheet named as content of rCell
                Worksheets.Add("CLASS GROUPING ID").Name = strText
                'Copy the visible filtered range _
                (default of Copy Method) and leave hidden rows
                .UsedRange.Copy Destination:=ActiveSheet.Range("A1")
                ActiveSheet.Cells.Columns.AutoFit
            Next rCell
        End With

    With wSheetStart
        .AutoFilterMode = False
        .Activate
    End With

    On Error GoTo 0
    Application.DisplayAlerts = True
End Sub            

请帮助我迫切需要一些指导

4

0 回答 0