Avatar billede am123 Praktikant
09. maj 2018 - 10:40 Der er 4 kommentarer

ændre eksisterende dato format i vba til dansk dato

Hej, jeg søger hjælp til følgende opgave:
I lighed med den seneste opgave Studiechefen gav dig er indskrivningsdatoen angivet i et “forkert” format.
Studiechefen vil have datoen ændret til det “normale” danske format “DD-MM-YYYY”. Du skal derfor lave en
sub/funktion der erstatter den “forkert” formaterede dato med en ”korrekt” formateret. Din løsning skal kunne
eksekveres flere gange og det er derfor nødvendigt at du kontrollerer om datoen er i det ”forkerte” format før du
konverterer datoen.

Datoerne har vi fået angivet på forhånd, og de findes i kolonne D.
Avatar billede kim1a Ekspert
09. maj 2018 - 17:19 #1
Sjovt så mange vi har af disse opgaver for tiden :-) Kig lidt tilbage, det samme spørgsmål er stillet før.

Du bør derudover også have en ide, og derfor måske give os det stykke du er kommet så du kan spørge mere specifikt fremfor at få en komplet løsning til en opgave som du forventeligt selv skal kunne løse :-)
Avatar billede am1234 Praktikant
09. maj 2018 - 20:17 #2
@kim1a: dette er følgende jeg er kommet frem til.

Sub Opgave1()
    Columns("D:D").Select
    Selection.TextToColumns Destination:=Range("D1"), FieldInfo:=Array(1, 5)
End Sub

men jeg kontrollerer ikke om der i kolonnen allerede står i det rigtige format? så hele opgaven er ikke løst.
kan du hjælpe med det?
Avatar billede jkrons Professor
09. maj 2018 - 23:27 #3
Det er kun et problem, hvis datoerne foreligger som tekststrenge. Hvis de allerede er datoer i Excel, ligger de som talværdier bag dato formater. Derfor bør du kunne nøjes med at rydde formatet på alle celler, og så formatere alle cellerne igen med dansk format.

    For Each c In Selection.Cells
        c.ClearFormats
        c.NumberFormat = "dd-mm-yyyy"
    Next c

Er der tale om tekststrenge er udfordringen en anden, da der ikke er nogen umiddelbar mulighed for at undersøge om en dato allerede er konverteret.
Avatar billede kim1a Ekspert
11. maj 2018 - 12:09 #4
Hvis det er tekststrenge skal vi som #3 påpeger overveje om formatet altid er det samme - altså om de i stedet står US YY-MM-DD, for så kan vi også lave det omkring, men hvis det er forskelligt bliver det ikke for sjov.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester



Seneste spørgsmål Seneste aktivitet
I går 20:46 opkaldside Af hagbartm i Mobiltelefoner
I går 16:05 win 10 vil ikke boote Af bb69 i Windows
I går 11:20 Lenovo x390 Af tobberjas i PC
I går 10:14 Alder i Excel Af Nanarsi i Excel
I går 09:00 Flere linier på faneblad Af Peder Lund Nielsen i Excel