ワークブックには次の 3 つのシートが含まれています。
アイテムスタイル (colA にアイテム番号、colB にアイテムのスタイルを含む)
スタイル(希望スタイル一覧)
スタイル テンプレート (列で指定されたスタイル内のアイテムのリスト)
次の 3 つのことを行うマクロが必要です。
スタイル シートからスタイルのリストをコピーし、スタイル テンプレートの行 2 から貼り付けて転置します。すべての列の行 1 は空白のままにする必要があります。
マクロは、スタイル テンプレートの各スタイルを 1 つずつ選択する必要があり、現在は異なる列にあります。これらが検索条件になります。
手順 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 を理解しようとして、エラーになってしまいます。