• 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.

Opgelost regel verwijderen obv macro

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

Cartucci

Gebruiker
Lid geworden
18 aug 2018
Berichten
72
Zie bijgaand bestand "voorbeeld".

Om een backorderlijst zo nu en dan op te schonen, wordt de bovenste regel verwijderd via een virtuele knop met bijbehorende macro.

Deze handeling verwijderd simpelweg de bovenste regel in het document. Deze handeling kan meerdere keren achter elkaar uitgevoerd worden en theoretisch zou je de hele lijst kunnen verwijderen daardoor.

De bovenste regel mag echter niet verwijderd worden wanneer de cel in de kolom "datum laatste levering" leeg is.

Welk script kan ik daarvoor toevoegen aan het al bestaande script?
 

Bijlagen

Code:
Sub opschonen_lijst()
    If Cells(2, 6) <> vbNullString Then Rows(2).Delete Shift:=xlUp
End Sub
 
Bij het verwijderen van meerdere rijen met gebruikmaking van een loop worden de rijen steeds van de onderste naar de bovenste rij verwijderd, dit om te vermijden dat rijen ten onrechte niet verwijderd worden.
De code zal er dan als volgt uitzien.

Code:
Sub opschonen_lijst()
'
' opschonen_lijst Macro
    With Blad1.ListObjects(1).DataBodyRange
        For i = .Rows.Count To 1 Step -1
            If (.Cells(i, 6) <> vbNullString) * (.Cells(i, 5) = 0) Then
                .Rows(i).Delete
            End If
        Next
    End With
End Sub

Je zal ook merken dat ik er een extra voorwaarde aan verbonden heb nl. dat de cel op dezelfde rij in kolom E als resultaat 0 moet hebben. Dit om te vermijden dat er door een onachtzaamheid toch een datum in kolom F wordt ingevuld niettegenstaande er nog te leveren onderdelen zijn.
 
Dank voor de voorstellen. De laatste lijkt het meest werkbaar met een kleine aanpassing.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan