重複した行を含むExcelシートがあります
ACDEF列が同じ場合に行を削除したい(重複の計算中はBを無視するが、行の削除中は削除する)
現時点では、比較だけでなく削除中もBを無視します。
重複した行を含むExcelシートがあります
ACDEF列が同じ場合に行を削除したい(重複の計算中はBを無視するが、行の削除中は削除する)
現時点では、比較だけでなく削除中もBを無視します。
回答:
Excel 2013
完了
行1と2が与えられた場合、A1 = A2、C1 = C2、D1 = D2、E1 = E2、およびF1 = F2の場合にのみ、行2を削除する必要があります。
これが私が思いついたものです。それはおそらくより短いかもしれませんが、それはトリックをします:
Sub DeleteDuplicate()
Dim current As String
ActiveSheet.Range("A1").Activate
Do While ActiveCell.Value <> ""
current = ActiveCell.Address
ActiveCell.Offset(1, 0).Activate
Do While ActiveCell.Value <> ""
If ((ActiveSheet.Range(current).Value = ActiveCell.Value) And (ActiveSheet.Range(current).Offset(0, 2).Value = ActiveCell.Offset(0, 2).Value) And (ActiveSheet.Range(current).Offset(0, 3).Value = ActiveCell.Offset(0, 3).Value) And (ActiveSheet.Range(current).Offset(0, 4).Value = ActiveCell.Offset(0, 4).Value) And (ActiveSheet.Range(current).Offset(0, 5).Value = ActiveCell.Offset(0, 5).Value)) Then
ActiveSheet.Rows(ActiveCell.Row).Delete
Else
ActiveCell.Offset(1, 0).Activate
End If
Loop
ActiveSheet.Range(current).Offset(1, 0).Activate
Loop
End Sub
これは、評価中の行へのポインターとしてActiveCellを使用して、残りのすべての行をループし、現在の変数に「元の」行のセルを格納します。ループが終了すると、電流より下のセルがアクティブになり、内部評価ループが再び開始されます。
私がどこかで台無しにした場合、私に言うことをheしないでください:)
@ガルリナエ
あなたのアイデアをインスピレーションとして使用しました。多くの行があり、列の重複値を含む行を削除したかった。その列で重複の削除を使用すると、行全体ではなくその列からデータのみが削除されます。そのテーブル全体から2行目と3行目ごとに削除したかったのです。だから、私は新しい列を作成し、最初の行の値を空のままにして、2番目と3番目の行で私を削除しました。そして、その特定の列の最初の3行のみ(行全体ではなく)の値をコピーし、テーブルの列全体に貼り付けました。これで、列全体の2行目と3行目ごとに「削除」されました。次に、その列の値を並べ替え、delete meを含むすべての行を削除するだけです。2番目、3番目、4番目、または2番目、3番目、4番目、5番目などごとに削除する場合は、同じソリューションを使用できます。
それが誰かを助けることを願っています...