Excel vba datum combobox

Status
Niet open voor verdere reacties.

MARINA111

Gebruiker
Lid geworden
19 sep 2014
Berichten
53
Beste

Ik ben al een hele tijd op zoek om m'n datumformaat als volgt te krijgen in een combobox
woe of woensag 26 nov 2014
Dit lukt wel:
Me.cbobegindatum = Format(Date, "dd-mmm-yy"), maar dan staat de dag er niet voor
maar als ik er dddd, voorzet wat ik terugvind als mogelijkheid om datum voluit dan werkt het niet
Moet ik iets aanpassen in de eigenschappen ?
 
Dit werkt gewoon:
Format(Date, "dddd dd-mmm-yy")

Resultaat:
maandag 24-nov-14

Dus wat bedoel je met dat het dan niet werkt?
 
Beste

ik krijg
volgende foutmelding:
fout 380 tijdens uitvoering, kan de eigenschap value niet instellen, ongeldige eigenschapwaarde
 
Plaats dan maar eens een voorbeeld bestand want bij mij werkt het ook gewoon.

Niels
 
De oorzaak ligt in het feit dat je in de Initialize van het formulier al datums toevoegt met het formaat "dd-mmm-yy".
Kennelijk heeft een combobox dan problemen als er een datum in een ander formaat wordt gebruikt.
Je zal dus in zowel de Initialize als in de Activate hetzelfde datumformaat moeten gebruiken.
 
Beste

Dat lukt idd op die manier-bedankt, maar dat veld wordt dan niet meer als datum herkend bij het wegschrijven, maar als tekst en ik heb het nog als datum nodig.
 
Ik snap je opmerking niet; als ik je formulier gebruik dan zet hij gewoon datums weg, met een uitgebreide datumopmaak. En die kun je netjes omzetten naar getal (41941 bijvoorbeeld) en dus is de waarde gewoon als datum te gebruiken.
 
Beste

Als ik werk met "dd-mmm-yy" wordt het wel als datum herkend, maar als ik er "dddd, dd-mmm-yy" van maak wordt het tekst en kan ik het niet meer omzetten naar een getal.
 
En dat is behoorlijk logisch, omdat je een tekst in de keuzelijst zet, geen datum. En omdat het ook nog eens Nederlandse tekst is, en VBA daar geen chocola van kan maken, kun je hem ook niet meer terugvertalen naar een datum. Ik zou dus een extra kolom toevoegen in de keuzelijst, dat de afhankelijke kolom maken en de breedte ervan op 0cm instellen zodat je hem niet ziet. Deze kolom vul je dan met de echte datumwaarde, en de zichtbare kolom je fantasietekst.
Code:
    With Me.cbobegindatum
        .ColumnCount = 2
        For Each cdatum In ws3.Range("datums")
            .AddItem CDate(cdatum)
            .List(.ListCount - 1, 1) = Format(cdatum, "dddd, dd-mmm-yy")
        Next cdatum
  End With
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan