Hej
Tutaj też miejsce na pętle, więc do dzieła:
Sub usun()
Dim a As Integer, b As Integer
Dim c As Integer, d As Integer
Dim e As Byte
Dim g As Integer
a = InputBox("Podaj nr wiersza początkowego")
b = InputBox("Podaj nr wiersza końcowego")
For c = b To a Step -1
For d = c - 1 To a Step -1
'ustalenie wiersza z mniejszą ilością zapełnionych kolumn
If Cells(c, 256).End(xlToLeft).Column > Cells(d, 256).End(xlToLeft).Column Then
e = Cells(d, 256).End(xlToLeft).Column
g = d ' zakładany wiersz do usunięcia
Else
e = Cells(c, 256).End(xlToLeft).Column
g = c
End If
For f = 1 To e
If Cells(c, f) <> Cells(d, f) Then Exit For ' wyjścia z pętli gdy są różnice w komórkach
Next f
If f = e + 1 Then Cells(g, f).EntireRow.Delete ' przy braku różnic usunięcie całego wiersza
If g = c Then Exit For ' jesli usunięto ostatni wiersz - wyjście z pętli for d
Next d
Next c
End Sub
Z tym x i y to mi nie wyszło :D
Zakładam dane od kolumny 1 (A). W arkuszu nie powinny znajdować się inne dane. Ostania kolumna bez wpisów.
Pozdrawiam |