最も直接的なルートではありませんが、BとCの間にマクロを挿入することができます。次に、その列に数式をダンプします。
=のCOUNTIFSような何か(B:B:B、B)あなたに、そしてあなたは、その値が1
で任意の行を削除ループにスクリプトを設定することができますどのように多くの時間レコードショーのカウントを与えます
Sub Duplicates()
Columns("B:B").Insert Shift:=xlToRight ' inserts a column after b
count = Sheet1.Range("B:B").Cells.SpecialCells(xlCellTypeConstants).count ' counts how many records you have
crange = "C1:C" & count ' this defines the range your formula's go in if your data doesn't start in b1, change the c1 above to match the row your data starts
Sheet1.Range(crange).Formula = "=countifs(B:B,B:B)" ' This applies the same forumla to the range
ct=0
ct2=0 'This section will go cell by cell and delete the entire row if the count value is 1
Do While ct2 < Sheet1.Range("C:C").Cells.SpecialCells(xlCellTypeConstants).count
For ct = 0 To Sheet1.Range("C:C").Cells.SpecialCells(xlCellTypeConstants).count
If Sheet1.Range("C1").Offset(ct, 0).Value > 1 Then
Sheet1.Range("C1").Offset(ct, 0).EntireRow.Delete
End If
Next
ct2 = ct2 + 1
Loop
Sheet1.Columns("B:B").EntireColumn.delete
end sub
コードのような
何かがきれいではないですが、それは仕事をする必要があります。
* *コメント
Sub Duplicates()
Columns("C:C").Insert Shift:=xlToRight ' inserts a column after b
count = Activesheet.Range("C:C").Cells.SpecialCells(xlCellTypeConstants).count ' counts how many records you have
crange = "C1:C" & count ' this defines the range your formula's go in if your data doesn't start in b1, change the c1 above to match the row your data starts
Activesheet.Range(crange).Formula = "=countifs(B:B,B:B)" ' This applies the same forumla to the range
ct=0
ct2=0 'This section will go cell by cell and delete the entire row if the count value is 1
'''''
Do While ct2 < Activesheet.Range("C:C").Cells.SpecialCells(xlCellTypeConstants).count
For ct = 0 To Activesheet.Range("C:C").Cells.SpecialCells(xlCellTypeConstants).count
If Activesheet.Range("C1").Offset(ct, 0).Value = 1 Then
Activesheet.Range("C1").Offset(ct, 0).EntireRow.Delete
End If
Next
ct2 = ct2 + 1
Loop
ActiveSheet.Columns("C:C").EntireColumn.delete
end sub
ごとに更新コードあなたはdoループは、各列を削除します何であると更新されたコード、一部には、私はカウントがある任意の行を削除するためにそれを固定することを試すことができます1.
私が理解しているところでは、データは列Bにあり、数は列Cにあるはずです。一致するように数式を更新してください
は列( "B:B")を変更する必要がありました。Shift:= xlToRightを列に( "C:C")挿入します。このコードを実行すると、いくつかのセルが見つかりませんでした。私はまた、sheet1をactiveSheetに変更しました。今はちょうど列の右にカウントを配置するために使用しています。もし私がそれを取得して1の列を削除し、Bの列でソートすると、私は設定されます。 – chrisrth
nice。命を救う人。 – chrisrth