0

ワークブックには次の 3 つのシートが含まれています。

  1. アイテムスタイル (colA にアイテム番号、colB にアイテムのスタイルを含む)

  2. スタイル(希望スタイル一覧)

  3. スタイル テンプレート (列で指定されたスタイル内のアイテムのリスト)

次の 3 つのことを行うマクロが必要です。

  1. スタイル シートからスタイルのリストをコピーし、スタイル テンプレートの行 2 から貼り付けて転置します。すべての列の行 1 は空白のままにする必要があります。

  2. マクロは、スタイル テンプレートの各スタイルを 1 つずつ選択する必要があり、現在は異なる列にあります。これらが検索条件になります。

  3. 手順 2 で選択したスタイルに基づいて、マクロは item-style シートで検索を実行し、選択したスタイルを持つすべてのアイテムを選択して、style-template シートの対応するスタイルの下にこれらすべてのアイテムを貼り付ける必要があります。選択したスタイルに対応するアイテムがない場合は、対応するスタイルの下に「アイテムがありません」と表示されます。

分かりやすいワークブックへのリンクはこちら

スタイルプロジェクト

ワークブックには 3 つのスタイルしか記載されていませんが、マクロには 50 を超えるスタイルを操作できる機能が必要です。

ここに私が持っているコードがあります:

Sub StyleProject()
Application.ScreenUpdating = False

Dim ws As Worksheet
Dim ws2 As Worksheet
Dim ws3 As Worksheet

Set ws = Sheets("Item-Style")
Set ws2 = Sheets("Style")
Set ws3 = Sheets("Style Template")

Dim rng As Range, secRng As Range

Dim i, j, k

Sheets("Style Template").Activate
finalcol = Cells(2, 50).End(x1toleft).Column

For i = 2 To finalcol

j = Cells(2, i).Value

lr = ws.Range("A" & Rows.Count).End(xlUp).Row

For k = 2 To lr
    Set rng = ws.Range("B" & i)

    If StrComp(CStr(rng.Text), j, 1) = 0 Then
        ws.Rows(k & ":" & k).Copy
        nxtRow = ws3.Range(i & Rows.Count).End(xlUp).Row + 1
        ws2.Rows(nxtRow & ":" & nxtRow).PasteSpecial Paste:=xlPasteValues, _
        Operation:=xlNone, SkipBlanks:=False, Transpose:=False


         Set rng = Nothing
            End If
        Next k

Next i
Application.ScreenUpdating = True
End Sub

私が信じている nextrng を理解しようとして、エラーになってしまいます。

4

1 に答える 1