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

Excel VBA naar XML, datum als jjjmmdd

Status
Niet open voor verdere reacties.

SamyQ

Gebruiker
Lid geworden
17 jun 2019
Berichten
12
Ik heb een macro waar de Excel gegevens geëxporteerd worden naar een xml . Het werkt, alleen ik heb een problemen met de datum.


Origineel is in Excel
datum
27-9-2017
28-9-2017
28-9-2017
29-9-2017
29-9-2017

Heb ik omgezet naar datumnotatie Engels (VS)

Is nu in Excel
datum
2017-09-27
2017-09-28
2017-09-28
2017-09-29
2017-09-29

Maar in de xml krig ik:

<date>27-9-2017</date>

en ik wil

<date>2017-09-27</date>

Waar kan dit aan liggen?
 
Hoe je de datum presenteert in Excel doet niets af aan de eigenlijke waarde.
27-09-2017 en 2017-09-27 zijn beiden het getal 43005.
Bij het naar xml schrijven in je code zal je dus het uiterlijk moeten wijzigen, niet in Excel.
 
Hoe je de datum presenteert in Excel doet niets af aan de eigenlijke waarde.
27-09-2017 en 2017-09-27 zijn beiden het getal 43005.
Bij het naar xml schrijven in je code zal je dus het uiterlijk moeten wijzigen, niet in Excel.

Maar waar moet ik zoeken?

Ik zie drie dingen waar het aan zou kunnen liggen

a.WriteLine ("<?xml version=""1.0"" encoding=""UTF-8""?>")

OF

Private Function Conversion(ByVal InputString As String) As String

Dim ASCII As Integer
Conversion = ""
While Len(InputString) > 0
ASCII = AscW(Left(InputString, 1))

Select Case ASCII
Case 33 To 47, 58 To 64, 91 To 96, 123 To 235
Conversion = Conversion & "&#" & ASCII & ";"
Case Else
Conversion = Conversion & Left(InputString, 1)
End Select

InputString = Right(InputString, Len(InputString) - 1)

OF

Boekjaar = Worksheets("GLEntries").Cells(4, 2) & "01-01"
 
Stel dat een cel, bijvoorbeeld A1, de datum 29-09-2017 bevat.
Dan doe je dit om het naar de juiste tekst te krijgen:
Code:
Datum = Format(Range("A1").Value, "YYYY-MM-DD")

De variabele Datum schrijf je dan naar je XML bestand.
 
Wilde gok?
Code:
Boekjaar = Worksheets("GLEntries").Cells(4, 2) & "[COLOR="#FF0000"]-[/COLOR]01-01"
 
Stel dat een cel, bijvoorbeeld A1, de datum 29-09-2017 bevat.
Dan doe je dit om het naar de juiste tekst te krijgen:
Code:
Datum = Format(Range("A1").Value, "YYYY-MM-DD")

De variabele Datum schrijf je dan naar je XML bestand.

Dank je! Het is gelukt met:

Datum = Format(Worksheets("GLEntries").Cells(Itemrow, 5).Value, "YYYY-MM-DD")
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan