Dansk Regneark Forum
  Hjælp Hjælp  Søg i forum   Arrangementer   Opret ny bruger Opret ny bruger  Log ind Log ind


Emne lukketDatoformatering

 Besvar Besvar
Forfatter
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Emne: Datoformatering
    Sendt: 28.Jan.2011 kl. 10:27
Hej Jesper,
 
Velbekomme, det var dejligt du kunne bruge det.
VBA gør arbejdet meget lettere og ofte mere elegant, du vil ikke fortryde det.
 
//Allan
Til top



Til top
Spotteck Se dropdown
Forum Begynder
Forum Begynder


Medlem: 18.Jan.2011
Land: DK
Status: Offline
Point: 5
Direkte link til dette indlæg Sendt: 28.Jan.2011 kl. 10:19
Hej Alan
 
Sorry, for den sene tilbagemelding.
 
Jeg har ikke ligefrem sort bælte i VBA og makroer, men efter at have set din sidste løsning, kan det da kun gå for langsomt med at komme på kursus i det.
 
Tusind tak for hjælpen.
 
Mvh
Jesper
Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 23.Jan.2011 kl. 20:35
Alternativt, brug denne skabelon.
 
Sæt dine 'datoer' ind i arket (Dato1 til Dato5)
Klik på knappen 'Korriger datoer'
Jobbet er udført.
 
(Jeg har lagt data ind i arket, så prøv at klikke på knappen med det samme)
 
 
//Allan
Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 23.Jan.2011 kl. 20:24
Hej igen Jesper,
 
Kender du til makroer?
 
Jeg tror denne lidt mere brugervenlige metode er bedre i denne situation.
 
Efter du har importeret dine data, så marker alle dine 'datoer' og kør denne makro.
 
Sub Korriger_Datoer()
For Each c In Selection.Cells
If c.Value <> "" Then
    If c.NumberFormat = "General" And c.Value <> "N/A" Then
        c.Value = "'" & Month(c) & "-" & Day(c) & "-" & Year(c)
        c.NumberFormat = "dd-mm-yyyy"
        c.Value = Replace(c, "'", "", 1, 1)
    End If
    If c.NumberFormat = "m/d/yyyy h:mm" Then
        c.Value = "'" & Month(c) & "-" & Day(c) & "-" & Year(c)
        c.NumberFormat = "dd-mm-yyyy"
        c.Value = Replace(c, "'", "", 1, 1)
    End If
End If
Next c
End Sub

 
Prøv den lige af
 
//Allan
Til top
Spotteck Se dropdown
Forum Begynder
Forum Begynder


Medlem: 18.Jan.2011
Land: DK
Status: Offline
Point: 5
Direkte link til dette indlæg Sendt: 21.Jan.2011 kl. 12:40
Ok.
Jeg er glad for al den hjælp jeg kan få - Tusind tak!
 
Mvh
Jesper
Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 21.Jan.2011 kl. 12:19
Hej Jesper,
 
Det er fordi jeg 'kun' har taget højde for at måneden (MM-DD-ÅÅÅ) kan være på 1 ciffer, jeg kan se at det kan dagen også Confused
Kombinationen af dag og måned med 1 ciffer kan jo også forekomme, så det giver lige lidt ekstra regnearbejde.
 
Jeg har ikke tid lige nu, men jeg kigger på den i aften. OK?
 
//Allan
Til top
Spotteck Se dropdown
Forum Begynder
Forum Begynder


Medlem: 18.Jan.2011
Land: DK
Status: Offline
Point: 5
Direkte link til dette indlæg Sendt: 21.Jan.2011 kl. 12:03
Hej Allan
 
Jeg er sgu imponeret!
 
Formlen virker for 90% af datoerne, men jeg kan ikke rigtig overskue formlen og sige hvor fejlen ligger.
 
Har du et bud eller er vi nået derftil, hvor det ikke bliver bedre?
 
 
Taknemmelige hilsner
Jesper
Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 20.Jan.2011 kl. 21:00
Hej igen,
 
Når du har importeret dato fra denne fil, så prøv at sætte denne formel i G2
 
=HVIS(ER.TAL(A2);DATO(ÅR(A2);DAG(A2);MÅNED(A2));HVIS(LÆNGDE(VENSTRE(A2;LÆNGDE(VENSTRE(A2;FIND(" ";A2;1)))))=11;DATO(HØJRE(VENSTRE(A2;FIND(" ";A2;1)-1);4);VENSTRE(VENSTRE(A2;FIND(" ";A2;1));2);MIDT(VENSTRE(A2;FIND(" ";A2;1));4;2));MIDT(VENSTRE(A2;FIND(" ";A2;1));3;2)&"-"&"0"&VENSTRE(VENSTRE(A2;FIND(" ";A2;1));1)&"-"&HØJRE(VENSTRE(A2;FIND(" ";A2;1)-1);4)))
 
Hvis dine data ligger i A til E, formoder jeg at formlen vil virke.
 
//Allan
Til top
Spotteck Se dropdown
Forum Begynder
Forum Begynder


Medlem: 18.Jan.2011
Land: DK
Status: Offline
Point: 5
Direkte link til dette indlæg Sendt: 20.Jan.2011 kl. 15:01
/uploads/165/Datoformat.zip" target="_blank">
Hej Allan
 
Super!
 
Jeg har uploadet rådata i CSV-format og lagt den i den vedhæftede Zip-fil.
 
Mvh
Jesper
 
 
uploads/165/Datoformat.zip
Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 19.Jan.2011 kl. 15:29
Ja, da, intet problem.
Jeg skal gladeligt kigge på den.
 
//Allan
Til top
Spotteck Se dropdown
Forum Begynder
Forum Begynder


Medlem: 18.Jan.2011
Land: DK
Status: Offline
Point: 5
Direkte link til dette indlæg Sendt: 19.Jan.2011 kl. 15:16
Hej Allan
 
Tak for et godt og hurtigt svar! Den pågældende opgave løste jeg ved at importere data via "Hent eksterne data" og markere dato kolonnerne som "Tekst" - derefter kunne jeg køre en formel, der inkluderede VENSTRE,MIDT og HØJRE - som jeg derefter kunne samle til en ny dato.
 
Tak for din formel også, som jeg dog har problemer med at få til at fungere med mine data, da de ikke kommer helt så pænt ud fra CSV-filen. Hvis jeg uploader min CSV, kan jeg så lokke dig til at se på den og give mig et svar på, hvordan jeg bedst kan behandle sådanne data (skal nemlig ofte lave denne opgave i fremtiden)?
Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 18.Jan.2011 kl. 21:47
Hej igen Jesper,
 
Som skrevet, ved jeg ikke hvordan du åbner din CSV, men denne formel kan måske hjælpe dig.
 
Formlen tager for givet, at formatet er MM-DD-ÅÅÅÅ og konverterer derefter dine tal til DD-MM-ÅÅÅÅ.
 
 
//Allan
Til top
Allan Se dropdown
Forum Admin
Forum Admin
Avatar
Forum Admin

Medlem: 03.Feb.2010
Land: Danmark
Status: Offline
Point: 10330
Direkte link til dette indlæg Sendt: 18.Jan.2011 kl. 17:53

Hej Jesper,

Grunden til forvirringen er at Excel rent faktisk kender denne dato (1. januar 2010), og oversætter den til et serienummer (40189).
Når formatet er MM-DD-ÅÅÅÅ kan datoer se ud som: 01-31-2010, her kan Excel ikke se det er en dato (Fordi dag 1 i den 31 måned ikke findes.
Men situationen ændrer sig ved datoer som 11-01-2010, som nok i din fil betyder 1. november, men Excel ser det som 11. januar og oversætter til serienummeret: 40189.
Derfor virker dine formler ikke på disse datoer. (Prøv at formatere datoerne som tekst, og se hvad der sker.)
 
Når du importerer din CSV, åbner du den bare ved dobbeltklik, gør du det via Excel 'Hent Eksterne data' eller bruger til 'Tekst til kolonner'?
 
//Allan
 
Til top
Spotteck Se dropdown
Forum Begynder
Forum Begynder


Medlem: 18.Jan.2011
Land: DK
Status: Offline
Point: 5
Direkte link til dette indlæg Sendt: 18.Jan.2011 kl. 17:10
Hej Alle
 
Jeg har et lille problem med formatering af en dato.
 
Jeg har fra en CSV-fil fået nogle datoer, som er i formatet MM-DD-ÅÅÅÅ, men som jeg ønsker skal være i DD-MM-ÅÅÅÅ. Jeg plejer at tage en (måske) besværlig vej, hvor jeg først uddrager dele af den gamle dato (med formlerne VENSTRE,HØJRE og MIDT), som jeg sætter sammen igen på den ønskede måde.
 
I det pågældende ark giver de tre formler dog et resultat, som jeg ikke forstår og som jeg ahr forsøgt som en vanvittig at omformatere - men uden held.
 
Her er, hvad arket indeholder med dato først og resultatet af de tre formler derefter.
 
dato VENSTRE MIDT HØJRE
11-01-2010 40 89 0189
 
Er der nogen, der kan hjælpe? Har vedhæftet en snip af det pågældende ark:
 
Mvh
Jesper
Til top
 Besvar Besvar

Skift forum Forum tilladelser Se dropdown

© 2010 - 2024 Dansk Regneark Forum - en del af Excel-regneark.dk