2011-08-16 8 views
0
ActiveSheet.Range(cells("$2", "$A"), cells("$" & CStr(mowz), "$Q"))._ 
RemoveDuplicates       
Columns:=Array(1, 2, 6, 7, 8, 9), Header:=xlYes 

これはマクロを記録し、Excel 2007 vbaで重複を削除するために使用します。つまり、重複している行を削除する必要があります。「Rth」列の値が2の場合のみ、それ以外の場合は削除しないでください。Excel 2007のRth列の行に2つの値がある場合は、削除した行を削除します。vba

条件を入れる方法はありますか重複した行マクロ?私に教えてください。そして、任意のsuugestionsが受け入れられます

私のシートに私は16の列と上記のマクロがあります。列1,2,6,7,8,9が同じ値を持っているが、それはそれを削除する必要がある場合、重複を削除します6つの列がすべて重複していても、Rth列に「2」の値があり、Rth列が他の値を持っている場合は削除しないでください。

答えて

1

他のコードについてはわかりませんが、これを統合することはできませんが、ここではR列を通過するsub()があり、内部に「2」がある場合は全体が削除されます行。 「Call Delete2s」を追加することで、いつでも他のコードに追加することができます(「呼び出し」はオプションですが、私はそれを含む傾向があります)。

Sub Delete2s() 
Range(Cells(1, "R"), Cells(Rows.Count, "R").End(xlUp)).Select 

Dim lastRow As Long 
lastRow = ActiveSheet.UsedRange.Rows.Count 

For i = lastRow To 1 Step -1 
    If Selection.Rows(i).Value = 2 Then 
     Selection.Rows(i).EntireRow.Delete 
    End If 
Next 
End Sub 

それは仕組み:それは逆方向にそれを(あなたがこれを調整することができます)、列Rで使用される最後のセルを検索し、ループ(あなたがそうでなければ、混乱はよ、あなたはセルを削除すると、これを行う必要がありますループを開く)。値が2の場合は、行全体が削除されます。

+0

申し訳ありませんが、私は再び私の質問をより明確に更新したいと思っていません – niko

+0

あなたの投稿を更新していただきありがとうございます。残念ながら私はそれを手伝うことができません。 :( – aevanko

+0

あなたの答えはまだありがたいです! – niko

関連する問題