ソートして、ついでに重複行を削除
用途:ソートと同時に重複行を削除したい場面がときどきあります。このときに使うVBAです。下記コードの説明:
データがA、B列に記入されています。2列だけです。
まずこれらA、B列でソートします。
A列が優先されます。
次に、重複した行を削除した状態で、C、D列にペーストします。
AdvancedFilter Unique:=True
最後に。A、B列を削除します。
最後に。A、B列を削除します。
すると、ソートし、しかも重複行が削除されたデータと置き換わります。
Range("A1").CurrentRegion.Sort _
Key1:=Range("A1"), Order1:=xlAscending, Key2:=Range("B1"), Order1:=xlAscending, _
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, SortMethod:=xlPinYin
Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom, SortMethod:=xlPinYin
Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterCopy, _
CopyToRange:=Range("C1"), Unique:=True
Columns("A:B").Delete
Columns("A:B").EntireColumn.AutoFit '列幅を自動調整
CopyToRange:=Range("C1"), Unique:=True
Columns("A:B").Delete
Columns("A:B").EntireColumn.AutoFit '列幅を自動調整