listbox vullen met datums tussen begin- en einddatum

Status
Niet open voor verdere reacties.

ewezel

Gebruiker
Lid geworden
9 nov 2009
Berichten
47
Beste helpmij gebruikers.

Ben reeds meerdere uren aan het zoeken geweest naar een oplossing maar krijg voor mijn probleem niets gevonden.

Heb op een userform twee textboxen die worden gevuld met een datumkiezer ( 1 ste textbox begindatum en 2 de textbox eindatum).
Op hetzelfde userform staat ook een listbox die gevuld zou moeten worden met alle datums van begindatum tot en met einddatum met hierin een selectie van alleen de netto werkdagen (dus maandag tot en met vrijdag) met een feestdagen uitzondering.

Mijn feestdagen staan op een werkblad dus deze kan ik hiervan inlezen, maar krijg niets gevonden om alle afzonderlijke datums weer te geven in de listbox.

Bij voorbaat dank voor het meedenken
:thumb:
 
Je kan dan beter even je document plaatsen.
 
Het userform kan je eenvoudig exporteren en dan weer importeren in een nieuw werkblad waarin je het blad met feestdagen vult.
Daarnaast is de grootte geen enkel beletsel omdat je zo'n document altijd naar een filehost kunt uploaden om vervolgens hier de link te plaatsen.
 
Goedemiddag Edmoor,

was er al mee bezig bij deze de uitgeklede versie van het totale bestand met userform en vakantiedagen in het werkblad

Bekijk bijlage test.xlsm
 
Laatst bewerkt:
Prima.
Ik zal er vanavond naar kijken.
 
In het voorbeeld document heb ik in Blad1 de Range A2 t/m A13 de naam Feestdagen2015 gegeven. Er is een knopje om de listbox te vullen maar hoe je de functie wilt activeren ben je uiteraard vrij in. Vul wel eerst de begin en eind datum aanvraag in:
Bekijk bijlage test.xlsm

Dit is de code die ik achter het formulier heb toegevoegd:
Code:
Private Sub CommandButton3_Click()
    Dim Begindatum As Long
    Dim Einddatum As Long
    Dim i As Long
    
    Begindatum = DateValue(TextBox2.Value)
    Einddatum = DateValue(TextBox3.Value)
    
    If Begindatum > Einddatum Then
        MsgBox "Ongeldige datum serie"
        Exit Sub
    End If
    
    Listbox1.Clear
    For i = Begindatum To Einddatum
        If (Format(i, "w") > 1 And Format(i, "w") < 7) And Not Vakantiedag(i) Then
            ListBox1.AddItem Format(i, "dd-mm-yyyy")
        End If
    Next i
End Sub

Function Vakantiedag(Dag As Long) As Boolean
    Dim i As Long
    Dim d As Long
    
    Vakantiedag = False
    For i = 1 To Range("Feestdagen2015").Rows.Count
        d = DateValue(Range("Feestdagen2015").Item(i))
        If d = Dag Then
            Vakantiedag = True
            Exit Function
        End If
    Next i
End Function
 
Laatst bewerkt:
Goedemiddag Edmoor,

sorry voor de late reactie (weinig tijd gehad de afgelopen dagen) maar dit is wel exact wat ik bedoel

:thumb::thumb:

eeuwig dankbaar was hier nooit uitgekomen

met vriendelijke groeten erwin
 
Ok dan. Veel plezier ermee :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan