• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Rij verwijderen via macro

Status
Niet open voor verdere reacties.

abevleeming

Gebruiker
Lid geworden
30 jan 2012
Berichten
436
Na vrijdag fantastisch geholpen te zijn met mijn eerste knelpunt ben ik bij de tweede aangekomen:

Ik wil graag een macro die op basis van lege celwaarden (cel is óf leeg, of "x") in kolom I, de rij laten verwijderen. Via Kolom A kan het beste het einde aangegeven worden.
Knelpunt:
Rij 1 t/m 5 zijn titelrijen die niet verwijderd mogen worden.

Wat ik wil:
- met de knop "updaten" in tabblad "valide eisen" moet excel kolom I van dat tabblad nalopen op lege cellen en daarvan de rijen verwijderen
- met de knop "updaten" in tabblad "valide verwerkte eisen" moet excel kolom J van dat tabblad nalopen op lege cellen en daarvan de rijen verwijderen

De overige knoppen bevatten activiteiten die al functioneren (hoewel, de activiteit "updaten" dus nog niet...)

Het betreffende bestand:
Bekijk bijlage Helpmij.xlsm

Ik heb vrijwel alle fora en Google afgestruind en (combinerend/aanpassend) nog niet tot de juiste VBA code gekomen. Ik heb het gevoel dat het niet moeilijk kan zijn maar tot nu toe valt dat dus vies tegen...
Hieronder een paar van mijn pogingen die niet werkten:

Deze pakt alle lege cellen in kolom I mee...
Code:
Sub Updaten_valide()
Lr = Cells(Rows.Count, "A").End(xlUp).Row
Dim lRij As Long
    For lRij = Range("I5").End(xlUp).Row To 1 Step -1
        If Range("I" & lRij).Value = "" Then
            Range("" & lRij & ":" & lRij & "").Rows.Delete
        End If
    Next

Range("A5").Select

End Sub

Deze slaat telkens een rij over na het verwijderen...
Code:
Sub Updaten_valide()

totalrows = ActiveSheet.UsedRange.Rows.Count

For Row = 5 To totalrows
    If Cells(Row, 9).Value = vbEmpty Then
        Rows(Row).Delete Shift:=xlUp
    End If
Next Row

End Sub

En deze geeft een foutmelding bij het specificeren van de range:
Code:
Lr = Cells(Rows.Count, "A").End(xlUp).Row
Range("I5:"&  Lr ).SpecialCells(xlBlanks).EntireRow.Delete
 
Voor het verwijderen van regels dien je de loop om te draaien:
Code:
For Row = totalrows To 5 step -1
 
Yes! Blijkt maar weer dat het antwoord nogal logisch was. Heel erg bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan