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

Datum wordt omgezet van NL naar US (Office NL)

Status
Niet open voor verdere reacties.

hmwul

Gebruiker
Lid geworden
15 dec 2012
Berichten
430
Het gebeurt regelmatig: Office 365 NL - taal ingesteld op NL - Windows 10 x64 Engels - regional settings Europa.

Na het afspelen van een macro, zie:
https://www.helpmij.nl/forum/showthread.php/958259-Macro-opnemen-en-opslaan-personal-xlsb

Sub VenA()
With Cells(1).CurrentRegion
.Columns(1).Replace ".", "-"
.Replace "MB", ""
.Replace ",", ""
.Interior.Color = xlNone
.Borders.LineStyle = xlNone
.Font.ColorIndex = xlAutomatic
End With
End Sub

worden datums, waar mogelijk omgezet naar Amerikaans

Dus 08.04.2021 wordt (middels bovenstaande macro) omgezet naar 04-08-2021

Het gebeurt niet alleen hier, bij deze macro, dit is slechts een voorbeeld...

Het gebeurt regelmatig en moet ik e.e.a. handmatig corrigeren.
Nogmaals, dit is slechts 1 voorbeeld.

Wanneer ik de macro NIET gebruik en doe een gewone zoek en vervang dan wordt de datum -niet- omgezet.


Waar zou dat aan kunnen liggen?
Heeft iemand enig idee?

Thanks!
 
Je zou het zo kunnen testen. PS: Datum met punt(tekst) omzetten naar datum met een midden streepje, zorgt er niet standaard voor dat de cel werkelijk een datum is.

Code:
Sub VenA()
  With Cells(1).CurrentRegion
    .Columns(1).Replace ".", "-"
    .Replace "MB", ""
    .Replace ",", ""
    .Interior.Color = xlNone
    .Borders.LineStyle = xlNone
    .Font.ColorIndex = xlAutomatic
  [COLOR="#FF0000"]  .Columns(1).NumberFormat = "dd-mm-yyyy"[/COLOR]
  End With
End Sub
 
Laatst bewerkt:
In het Duits is de datum met een punt.

Gebruik:
Code:
Sub hsv()
 Columns(1).TextToColumns Range("a1"), 1, 1, , , , , , , , Array(1, 4)
End Sub
 
Waar zou dat aan kunnen liggen?
De reden is heel simpel: als je binnen het programma met een programmafunctie (zoals Zoeken en Vervangen) iets doet, blijf je binnen dezelfde taalversie zitten. Gebruik je VBA, dan werk je met de Amerikaanse datumwijze. En dan wordt 4-8 dus 8-4 en omgekeerd. De datums gaan alleen 'verkeerd' (dus goed) als de datum begint met een getal groter dan 12; dan weet óók de Amerikaanse notatie dat het een Europese datum is. Je moet daar dus rekening mee houden als je macro's gebruikt om datums om te zetten.
 
@jveer: hartelijk dank voor de update van de macro. Heb dit toegepast, maar, helaas, het spijt me te moeten zeggen, het werkt niet.

@OctaFish Ah! Dat wist ik niet... Google search "excel VBA date format changes to US" spreekt voor zich. Had echt geen idee.
Kennelijk is daar geen algemene oplossing voor. Je kan in Windows van alles instellen in 'Dutch' en 'Regional Settings' maar kennelijk maakt dat geen *** uit.
De diverse threads gaan in op specifieke oplossingen, maar niet hoe je deze omzetting kan voorkomen, in alle gevallen.
Dit is balen.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan