誰かが私を助けることができますか?私はどのように起動するのかわかりません... (列Aに基づいて)重複を削除し、最新の日付(列P)を持つ行を保持するマクロを作成したいと思います。そして、すべての重複列に列Pの日付がない場合は、1つを保持して他の重複を削除します。エクセルVBA - 重複を削除し、(日付列に基づく)最新に保つ
行5有するシート開始のデータ(そのため申し訳ありませんが、画像のように4行ではありません)。過去に私はテーブルが〜10.000行を〜行1または2
表は通常の周りに持っていると15列を起動していないとき、私はマクロを経由して、重複を削除して問題を抱えていたことを知っています。
行の一部
は、列Pの日付を持っており、いくつかの行にはありません。そのため、重複する列(列A)があるかどうかを確認する必要があります。そうであれば、列Pに日付があるかどうかを確認します。日付が重複する場合、マクロはすべての重複を削除します。TL ...それは最初の行ではなく、最新の日付のものを保持します; DR:
Sub DelDubs_Date()
Dim Rng As Range
Dim LastRow As Long
Dim i As Long
Application.ScreenUpdating = False
LastRow = Cells(Rows.Count, "B").End(xlUp).Row
Set Rng = Range("A5:P" & LastRow)
With Rng
.Sort key1:=Range("A5"), order1:=xlAscending, key2:=Range("P5"), order2:=xlDescending, _
Header:=xlYes, OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End With
For i = LastRow To 2 Step -1
If WorksheetFunction.CountIf(Range(Cells(2, "A"), Cells(i, "A")), Cells(i, "A")) > 1 Then
Rows(i).Delete
End If
Next i
Application.ScreenUpdating = True
End Sub
問題:
コードは、私がこれまでに編集/使用重複をチェックしますAで日付を確認した後、すべての重複を削除しますが、最新のものを保存してください。日付がない場合は、すべての重複を削除してください。
あなたは、これまで何を試してみましたか?特定の問題が発生した場合は、goしてからもう一度やり直す必要があります。 – Gareth
私は開始の方法がわからないので、日付のチェックなしで複製を削除するマクロを持っています。なぜあなたはすぐに私の質問に投票していますか? – Bluesector
コードを追加できますか?私はそれを立証しているので、あなたの質問は本質的に「私の問題を解決するマルコを書いてください」という理由でそれを落とした。それは、ここにあるものではありません。 – Gareth