• 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/Macro probleem met datum

Status
Niet open voor verdere reacties.

GerjanHM

Gebruiker
Lid geworden
19 jun 2015
Berichten
20
Dag Iedereen,

Helaas heb ik een onverklaarbaar probleem met een bestand wat ik in excel aan het bouwen ben.
Op de een of andere reden pas excel automatisch de datum aan naar de Amerikaanse notie als deze middels een macro wordt gewijzigd. 1 oktober wordt dan bijvoorbeeld 10 januari.

Bijgaande een bestand waarin ik het probleem heb nagebouwd.

Alle cellen in mijn bestand zijn beveiligd tegen wijzigingen. Wijzigingen kunnen alleen gedaan worden middels knoppen welke gelinkt zijn aan VBA. Ook datums moeten hiermee worden aangepast. Dit werk opzich goed alleen bestaat er een probleem met de Nederlandse notie (dd-mm-jjjj) en Amerikaanse notitie (mm-dd-jjjj) van datums. In mijn bestaand moet de Nederlandse worden aangehouden. Als middels de vba de datum wordt gewijzigd wordt deze automatisch omgezet naar de Amerikaanse notitie. Bijvoorbeeld als de datum 1-10-2008 (1 okt) is en deze moet gewijzigd worden naar 2-10-2008 (2 okt) maakt hij er 10-2-2008 (10 februari) van.
Het probleem is te voorkomen door de eigenschap te wijzigen naar 'tekst'. Echter veroorzaakt dit andere problemen binnen mijn programma waardoor dit niet mijn voorkeur heeft.

Weet iemand hoe dit op te lossen?
Hoor het graag en alvast bedankt!



Bekijk bijlage Probleem datum.xlsm
 
Zo:
Code:
ws.Cells(8, 5).Value = CDate(Me.TextBox1.Value)
 
@ edmoor

Had al gehoopt dat de oplossing niet zo moeilijk was.
Helaas werkt het niet goed. Als ik "= CDate(Me.TextBox1.Value)" toevoeg aan mijn code komt in cel 8,5 "WAAR" of "ONWAAR" te staan. De datum verdwijnt :(

Weet je hoe dit komt of doe ik iets niet goed?

Gerjan
 
Zonder je document kan ik daar niks over zeggen.
 
Dat werkt natuurlijk wel gewoon!
 

Bijlagen

  • Probleem datum.xlsm
    22,5 KB · Weergaven: 59
Inderdaad deze werkt goed.
Zie nu ook het probleem, dom van mij.

Bedankt iedereen!
 
Zonder al die variabelen en met een controle die je zelf kan uitbreiden.

Code:
Private Sub UserForm_Initialize()
  TextBox1 = Format(Sheets("Blad1").Cells(8, 5).Value, "dd-mm-yyyy")
End Sub

Code:
Private Sub CommandButton1_Click()
  If MsgBox("Wijziging toepassen?", vbYesNo + vbQuestion, "Exit") = vbYes Then
    If IsDate(TextBox1.Value) Then Sheets("Blad1").Cells(8, 5).Value = CDate(TextBox1.Value)
  End If
  Unload Me
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan