私はExcelのためにVBAで苦労しています。私は、製品が複数のカテゴリを持つことができる製品を備えたテーブルを持っています。製品にリンクされているカテゴリには、そのカテゴリの横の列にあるサブカテゴリがあります。製品に複数のカテゴリがある場合、これらのカテゴリは製品の1行下に配置されます。 pic1を参照してください。値に基づいてセルを移動
私が達成したい何: 私はスクリプトを実行するたびに到達するまで、製品情報の行にある現在のカテゴリが、その下のカテゴリーで交換する必要があります次の製品。交換する新しいカテゴリがない場合は、製品行を削除することができます。 (この例では、スクリプトを3回実行する必要があります)。
私は「コードだから私は最終的にはこれで終わるだろう今までに得られたのは:
Sub MoveEmpty()
Dim i as Long, j as Long
Application.ScreenUpdating = False
j = Range("A" & Rows.Count).End(xlUp).Row
For i = j to 3 Step -1
If Range("A" & i) <> "" Then
Range("C" & i -1) = Range("C" & i).Resize(,3)
Range("A" & i).EntireRow.Delete
End If
Next i
End Sub
希望、これは理にかなっている、と手伝ってくれてありがとう、
バート
サブカテゴリーは関係ありませんか? – Ibo
です。したがって、最初の例の行C3:C5はB3:B5を置き換える必要があり、E3:E5はD3:D5などを置き換える必要があります。カテゴリを含む製品の下に行がない場合、製品の行を削除できます。 – CMBart
したがって、サブカテゴリが異なる場合は、互いにオーバーライドしないでください。製品、カテゴリ、サブカテゴリに基づいてユニークなリストを作成したいと思っていますか?任意の列の空のセルは、同じ列の最初の値を表しますか? – Ibo