Моя общая цель - удалить все идентичные строки из листа.
Поэтому я создал два массива.Одним из них является «текущая строка» (1), а второй массив заполняется одной строкой за другой.Пока это работает.
Теперь я хочу сопоставить два массива, и если они идентичны, соответствующая строка должна быть удалена.
Тогда «текущая строка» изменится на 2.
Мой код прямо сейчас:
For j = 1 To VarAnzahlZeilen
i = 1
For i = 1 To VarAnzahlSpalten
ReDim Preserve ArrAktuelleZeile(i - 1) As String
ArrAktuelleZeile(i - 1) = Worksheets("Filter").Cells(j, i).Value
Next i
(i+1)
For n = j + 1 To VarAnzahlZeilen
k = 1
For k = 1 To VarAnzahlSpalten
ReDim Preserve ArrDurchlaufZeile(k) As String
ArrDurchlaufZeile(k - 1) = Worksheets("Filter").Cells(n, k).Value
Next k
If Not IsError(WorksheetFunction.Match(ArrAktuelleZeile, ArrDurchlaufZeile, 0)) Then
Rows(n).Delete
End If
Next n
Next j
RuntimeError 13 появляется в строке:
If Not IsError (WorksheetFunction.Match (ArrAktuelleZeile, ArrDurchlaufZeile, 0)) Тогда
Я думаю, что в целом код можно улучшить ^^
Можете ли вы помочь, пожалуйста?
Прежде всего, большое спасибо всем, ктопомогая.
Я попробовал идею @GTPV и немного изменил ее, чтобы она соответствовала моим потребностям (переменная Range и сравнение столбцов 1-30).К сожалению, синтаксическая ошибка появляется
Worksheets("Filter").Range(.Cells(1, 1), .Cells(VarAnzahlZeilen, VarNutzerSpalte))).RemoveDuplicates Columns:=Array(1, 2, 3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30), Header _
:=xlNo