Just nu i M3-nätverket
Gå till innehåll
Sokrates

Datuminmatning Excel

Rekommendera Poster

Hej, undrar om någon kunnig kan hjälpa mig med detta:

 

Jag matar in en mängd datum och klockslag i en arbetsbok. Excel vill ha dessa i formatet ÅÅÅÅ-MM-DD TT:MM. För mig skulle det spara mycket tid om jag kunde mata in siffror i formen ÅÅMMDDTTMM som sen via ett makro eller på annat sätt kan konverteras till det av Excel godkända formatet.

 

Jag har försökt på olika sätt men inte lyckats.

 

Tacksam för alla råd!

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Inget enkelt sätt finns.

Två sätt kan jag tänka mig

Ena är att du skapar ett formulär som du matar in i ditt egna format i, kanske man göra inmatningen ännu enklare tillochmed. Andra är att du skriver in i det felaktiga formatet och sedan använder formler för att ta ut och formatera det som ett tal.

 

men om det senare då skulle jag nästan föreslå att du matar in olika delarna i olika celler, dvs istället för kolon och mellanslag tryck på Tab. Borde gå snabbare och du kan fylla i gemensamma uppgifter för flera poster i ett svep, exempelvis årtal och månad borde vara lika över längre serier.

 

Sedan när du ska snabbt mata in, markera i bredd så många celler som behövs och även några celler i höjd. Då kan du med TAB stega dig igenom cellerna och snabbt via numeriska tangentbordet mata in värdena.

 

Låter inte det bra? formlerna för att slå ihop till korrekt värde är inga konstiga formler

=DATUM(A2;B2;C2) +KLOCKSLAG(D2;E2;F2)

Behöver väl inte göras mer komplicerat än så?

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Förslag till lösning: (Excel 2003)

 

Den/de celler som skall ha tidsformatet, se till att dessa formatteras som åååå-mm-dd hh:mm.

 

Följande sub skrivs i ThisWorkbook:

 


Sub KonverteraDatum()

   On Error GoTo errorhandler

   Dim sInput As String

   sInput = Application.InputBox("Ange datum:")

   If IsNumeric(sInput) <> True Then GoTo errorhandler
   If Len(sInput) <> 10 Then GoTo errorhandler

   sInput = CDate(Mid(sInput, 1, 2) & "-" & Mid(sInput, 3, 2) & "-" & _
     Mid(sInput, 5, 2) & " " & Mid(sInput, 7, 2) & ":" & Mid(sInput, 9, 2))

   ActiveCell.Value = sInput

   Exit Sub

errorhandler:

   MsgBox ("Ooops! Ett fel uppstod!")

End Sub

 

Koppla denna rutin till ett kortkommando. Förflytta markören till den cell som ska ha datumet, kör makrot med kortkommandot.

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Alternativ lösning:

Ha två kolumner med datum+tid, en där du matar in datum+tid som du vill, en annan bredvid som är ett korrekt Exceldatum+tid.

 

Formeln för att konvertera din inmatning till korrekt Excelska:

=DATUM(2000+VÄNSTER(A2;2);EXTEXT(A2;3;2);EXTEXT(A2;5;2))+(EXTEXT(A2;7;2)+HÖGER(A2;2)/60)/24

där ditt datum+tid står i A2.

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...