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

VBA: hele rij verwijderen wanneer lager dan 0

Status
Niet open voor verdere reacties.

reigersnest

Nieuwe gebruiker
Lid geworden
13 aug 2014
Berichten
3
Hoi allemaal.

De uitdaging is als volgt;
Binnen mijn bedrijf ben ik bezig met het versimpelen van het bestelproces, daarom een excelsheet gemaakt met vier tabbladen waarvan alleen de eerste twee nu van belang zijn.

1ste tabblad
Onder het eerste tabblad vinden we een totaaloverzicht van alle producten die besteld kunnen worden. In dit totaaloverzicht staat wat de artikelcode is, de verpakking, het product, leverancier etc., maar ook de huidige voorraad en gewenste voorraad. Op het moment dat de huidige voorraad lager is dan de gewenste voorraad, kan tabblad 2 zijn werk doen.

2de tabblad
In het 2de tabblad verschijnen de producten die niet voldoen aan de gewenste voorraad. Binnen dit voorbeeld zijn dit dus de volgende producten: 1, 2, 3, 5, 6, 7, 8 en product 10. Zoals ik ook wil, verschijnen deze op de bestellijst met de overige informatie die van belang is.

De uitdaging]
Zoals te zijn krijg ik de producten niet uit de bestellijst die wèl aan de gewenste voorraad voldoen. Dit zijn dus product 4, 9 en 11. Deze zijn óf precies op de juiste hoeveelheid, of er is een overschot. Dit hoef ik echter niet op de bestellijst te hebben.

VBA
Op een Engels forum kwam ik al een andere code tegen die wellicht bruikbaar was:
http://stackoverflow.com/questions/17814501/delete-entire-row-if-value-is-greater-than-or-less-than

Ik krijg deze echter niet werkend (heb het ook op een Engelse versie van Excel geprobeerd ;)), kan iemand mij helpen waardoor ik toch een lijst kan krijgen op tabblad 2 met daarin enkel de producten waarbij de productvoorraad niet toereikend is?

Eeuwige dank en roem ligt in het verschiet voor hij/zij die dit vraagstuk weet op te lossen.

Bekijk bijlage Voorbeeld magazijn.xlsx
 
Laatst bewerkt:
misschien is deze iets, bij activeren van blad bestellijst
wordt huidige toestand weergegeven.

mvg

Leo
 

Bijlagen

  • Voorbeeld magazijn L.xlsm
    30,3 KB · Weergaven: 39
Hoi Leo,

Dit is precies wat ik zocht.

Kun je mij nog uitleggen wat je precies gedaan hebt?

Erg bedankt voor je hulp!
 
Code:
Private Sub Worksheet_Activate()

Dim lastrow

lastrow = Sheets("Overzicht").Range("a" & Rows.Count).End(xlUp).Row
With Sheets("Bestellijst")
.Columns("a:e").ClearContents
Range("a1").Value = "Productnummer"
Range("b1").Value = "Leverancier"
Range("c1").Value = "Product"
Range("d1").Value = "Kostprijs"
Range("e1").Value = "Bestellen"
End With
For x = 4 To lastrow
    If Sheets("Overzicht").Range("I" & x).Value > 0 Then
        Sheets("Bestellijst").Range("a" & Rows.Count).End(xlUp).Offset(1, 0).Value = Sheets("Overzicht").Range("a" & x).Value
        Sheets("Bestellijst").Range("a" & Rows.Count).End(xlUp).Offset(0, 1).Value = Sheets("Overzicht").Range("d" & x).Value
        Sheets("Bestellijst").Range("a" & Rows.Count).End(xlUp).Offset(0, 2).Value = Sheets("Overzicht").Range("c" & x).Value
        Sheets("Bestellijst").Range("a" & Rows.Count).End(xlUp).Offset(0, 3).Value = Sheets("Overzicht").Range("g" & x).Value
        Sheets("Bestellijst").Range("a" & Rows.Count).End(xlUp).Offset(0, 4).Value = Sheets("Overzicht").Range("i" & x).Value
    End If
Next x
End Sub

met bovenstaande code, zit achter blad bestellijst activate
dus gewoon daar waar in blad overzicht de waarde in kolom I groter is dan 0
de nodige gevens overbrengen naar blad bestellijst

mvg

Leo
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan