Keresés

Új hozzászólás Aktív témák

  • m.zmrzlina

    senior tag

    válasz Fferi50 #29036 üzenetére

    Köszi a választ sokat segítettél bár a végeredmény csak nagyon kicsit hasonlít a te tippedre. Ez volt az első verzió:

    Sub torolo()
    Dim usor As Long, xx As Long
    usor = Cells(Rows.Count, 1).End(xlUp).Row
    For xx = usor To 1 Step -1
    If IsNumeric(Cells(xx, 1)) And Cells(xx, 1).Value = Cells(xx - 1, 1).Value + 1 Then Exit For
    Rows(xx).EntireRow.Delete
    Next
    End Sub

    Ezt azonban sok olyan konfiguráció át tudta ejteni ami szemét ugyan de át tudott menni a ciklusban lévő vizsgálaton. Pl a két vagy több utolsó szemét sor első cellája üres, vagy csökkenő sorszámozású.

    Aztán a másik hiba indikátorra fókuszáltam ti. hogy a hibás sorokban /az eddigi tetöltéseket nézve legalábbis/ mindig van egy üres cella, és 2-3 sornál soha nincs több szemét sor. Ez lett a vége:

    Sub tisztit()
    Dim holavege As Long, i As Long, j As Integer
    holavege = ActiveSheet.UsedRange.Rows.Count
    For i = holavege To holavege - 10 Step -1
    For j = 1 To 16
    If Cells(i, j) = "" Then
    Rows(i).EntireRow.Delete
    Exit For
    End If
    Next
    Next
    End Sub

    Lehet, hogy a vége a kettő kombinációja lesz mert ha kiderül, hogy van olyan sor aminek mind a 16 cellájában van adat de az valamiért hibás abban az esetben ez sem tökéletes.

    Köszi a tippedet. Vesszen a .Select!
    :R

    [ Szerkesztve ]

Új hozzászólás Aktív témák