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

Overzicht onbetaalde facturen

  • Onderwerp starter Onderwerp starter FVG
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

FVG

Gebruiker
Lid geworden
8 feb 2001
Berichten
40
Ik heb een excel met daarin een hele reeks facturen. Sommige zijn betaald, andere nog niet. Van zodra een factuur betaald is komt er een kruisje te staan in een bepaalde kolom.
Nu zou ik graag op een ander tabblad telkens een bijgewerkte lijst te zien krijgen van alle o,betaalde facturen.
Is dit met formules te verwezenlijken?
Graag jullie advies
Frank
 
Volgens mij kan dat niet met een formule, maar misschien kun je iets bereiken met een draaitabel.
Een voorbeeldbestandje, zonder gevoelige informatie is wel handig.

Kees
 
Hier zou dit mee moeten lukken:

Code:
Sub cobbe()
 Dim dic As Object
    Set dic = CreateObject("Scripting.Dictionary")
    Application.ScreenUpdating = False
 With Sheets("Blad1")
 Lrij = .Range("A" & .Rows.Count).End(xlUp).Row
    For Each cl In .Range("A2 :A" & Lrij)
        If Not dic.exists(cl.Value) And cl.Offset(, 2) = "x" Then dic.Add cl.Value, Nothing
    Next cl
 End With
 With Sheets("Blad2")
        .Range("A2:C100").ClearContents
        .Cells(2, 1).Resize(dic.Count).Value = Application.Transpose(dic.keys)
        For Each cl In .Range("A2:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
        cl.Offset(, 1) = WorksheetFunction.VLookup(cl, Sheets("Blad1").Range("A:C"), 2, 0)
        cl.Offset(, 2) = WorksheetFunction.VLookup(cl, Sheets("Blad1").Range("A:C"), 3, 0)
        Next
 End With
End Sub

Maar natuurlijk wel de bereiken aanpassen.
 
Even obv de bijlage van keesbl:thumb:

Code:
Sub VenA()
Sheets("Onbetaald").UsedRange.EntireRow.Delete
With Sheets("Facturen").Cells(1).CurrentRegion
    .AutoFilter 3, "x"
    .Copy Sheets("Onbetaald").[A1]
    .AutoFilter
End With
End Sub

Edit als je het obv van formules wil doen (overheen gelezen) dan kan je het beste de methode uit #3 gebruiken.
 

Bijlagen

Laatst bewerkt:
Het betreft een schoolopgave. In principe moet het zonder vbs gebeuren.
Neemt niet weg dat ik de oplossing van Cobbe ook eens goed ga bestuderen.
Wat betreft oplossing #3 van Keesbl:
In deze oplossing via een draaitabel zou de draiitabel dan wel enkel de onbetaalde facturen mogen weergeven.
IK krijg dit niet klaar maar heb ook niet zo heel veel kennis van draaitabellen.
Hierbij stuur ik het voorbeeldbestand.
FrankBekijk bijlage Voorbeeldlijst.xlsx
 
Beste helpers,
Ik heb ondertussen een oplossing uitgewerkt als volgt. Eerst wordt het eerste blad gedupliceerd naar het tweede blad door middel van een ALS-funktie om geen nullen in lege cellen te krijgen. Dan is er een macro opgenomen met de filter op de onbetaalde facturen en een sneltoets CTRL+S. Hiermee kan je de lijst telkens bijwerken.
Als extra (misschien niet voor de leerlingen) heb ik een klein stukje VBA toegevoegd om de macro automatisch te starten bij het openen van het werkblad en bij de overgang van het eerste blad naar het tweede blad.
Het uitgewerkte voorbij is hierbij.
Dank aan iedereen om mij op het juiste spoor te zetten.
FrankBekijk bijlage Uitgewerkte oplossing met automatische bijwerking.xlsm
 
FVG,

het voorbeeld van keesbl enigszins aangepast, n.a.v. #6
 

Bijlagen

Om de gegevens van kolom J te filteren is dit voldoende

Code:
Range("J9:J" & Range("J" & Rows.Count).End(xlUp).Row).AutoFilter 1, "="

Wat het nut is om in twee tabjes dezelfde gegevens te hebben ontgaat mij even.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan