Я написал макрос ниже, чтобы удалить повторяющиеся строки после проверки всех столбцов. Я думал, что он работает правильно, основываясь на логике, но вывод неправильный, и некоторые из строк, которые должны отображаться, удаляются. Может ли кто-нибудь помочь мне в этом?Удаление повторяющихся строк после проверки всех столбцов
Перед тем, как этот макрос будет запущен, у меня есть еще один макрос для сортировки данных по нескольким столбцам, чтобы убедиться, что похожие строки сгруппированы вместе, поэтому, возможно, макрос может принять это во внимание и проверить только строку над ним, а не проверить все строки? Большое спасибо за любую помощь!
Sub Delete_Repeated_Rows()
Dim Rng As Range
Dim ColumnCounter As Integer
Set Rng = ActiveSheet.UsedRange.Rows
'Using ColumnCounter to hold total number of cells that match. If all of them match, delete row'
For r = Rng.Rows.Count To 1 Step -1
ColumnCounter = 0
For Col = Rng.Columns.Count To 1 Step -1 'Loop through columns and find matches'
If Application.WorksheetFunction.CountIf(Rng.Columns(Col), Rng.Cells(r, Col)) > 1 Then
ColumnCounter = ColumnCounter + 1
End If
Next Col
If ColumnCounter = Rng.Columns.Count Then
Rng.Rows(r).EntireRow.Delete
End If
Next r
End Sub
Зачем изобретать колесо? Используйте 'Range (TheRange) .RemoveDuplicates'. Одна строка кода. – teylyn
Я не понимаю, почему вы приняли код без кода на вопрос кода. Если вы не хотите кода, скажите об этом в своем вопросе. Но когда вы отправляете код и запрашиваете улучшения, вам нелегко понять, почему вы хотите получить ответ «click-click-click». – teylyn