をあなたの助けのためにたくさんの感謝: レコードフィルタリングのマクロは次のようになります。
ActiveWorkbook.Worksheets("Sheet2").ListObjects("Tableau1").Sort.SortFields. _
Clear
ActiveWorkbook.Worksheets("Sheet2").ListObjects("Tableau1").Sort.SortFields. _
Add Key:=Range(_
"Tableau1[Car]") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet2").ListObjects("Tableau1").Sort.SortFields. _
Add Key:=Range("Tableau1[Model]"), SortOn:= _
xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet2").ListObjects("Tableau1").Sort.SortFields. _
Add Key:=Range("Tableau1[Motor]"), SortOn:= _
xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet2").ListObjects("Tableau1").Sort.SortFields. _
Add Key:=Range("Tableau1[Carburant]"), SortOn:= _
xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets("Sheet2").ListObjects("Tableau1").Sort.SortFields. _
Add Key:=Range(_
"Tableau1[Techno]"), SortOn:= _
xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
...などです!
次に、新しい列を作成して、1または0のいずれかがすべての行が式IF(AND(C2=C3;D2=D3; ... ; O2=03);1;0)
の式と同じであると判断し、最終的に最後の列に式を入力して0〜この行の日付は、1900年1月1日の日付が表示されない場合は考慮に入れなければなりません。その後、この行をフィルタリングし、1900年の日付を取って、私は欲しかったものを得ました。
私はそれがはっきりしていることを望みます。
私が正しく理解すれば、どの製品が同じ「カテゴリ」に入るのかを決定する条件は、最初の14列の値を一致させることです。次に、14列の可能なすべての組み合わせでリストをフィルタ処理し、日付(昇順)でソートして、一番上の日付を選択するマクロを提案します。しかし、あなたはそのようなマクロを書く必要があります。それを記録する方法はありません。しかし、録音は基本的な操作に役立ちます –
はい、それは、値が最初の14のカテゴリーで同じであれば、日付を比較し、最も古いものだけを選びます。 OK私は例を記録してマクロを試し、まずfilterigを試してから、最も古い日付を選びます。ありがとう – lillinoa
IF(AND(...))を使用してVBAと数式を組み合わせ、列の一致または不一致に応じて1または0のレンダリング値を作成しました。私はそれが今働いていると思うthks :) – lillinoa