1

マクロの作成に関しては初心者なので、どうしても助けが必要です。私は 2 つのワークシートを持っています。1 つは毎日新しいデータで更新されるデータを含み、もう 1 つはそれに応じて各行でデータを入力する必要があるテンプレートです。ただし、テンプレートは列 A の一意の名前のコピーであり、その名前で名前を変更する必要があります。テンプレート ワークシートが既に存在する場合は、一致する名前から情報が取得され、特定の情報がテンプレートにコピーされます。ワークシート(テンプレート)が存在しない場合、列「A」の一意の値に従って新しいワークシートが作成されます。

データの転送を開始する前に、worksheet(data) 内のデータを最初に列「I」から「Redemption」と「Full Liquidation」の 2 つのタイプでフィルタリングする必要があります。

ワークシート(データ)からワークシート(テンプレート)へ、

列「A」は新しいワークシート(テンプレート)名になり、

列「E」は、行 4 から始まるワークシート (テンプレート) 列「A」に配置されます。

列「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