Avatar billede birdbrain Seniormester
02. september 2020 - 13:39 Der er 2 kommentarer og
1 løsning

dato format

Jeg har i en userform et tekstfelt, hvor i der skal skrives en dato (dd.mm.yy), men når datoen bliver overført til excel arket ændres formatet, som var det tastet mm.dd.yy. Cellen i excel er formateret dd.mm.yy.
Sjovt nok, kan den godt finde ud af det, hvis jeg har passeret d 12 I en måned. 13-02-20 forbliver 13-02-20, men 12-02-20 ændres til 02-12-20
Har nogen et godt forslag til hvordan jeg løser problemet.
Avatar billede kim1a Ekspert
02. september 2020 - 17:00 #1
Jeg løste en lignende udfordring ved at hive datoen i stykker og så gøre således:
Datoinput:        Dato = Format(InputBox("Hvilken dato skal lageret opgøres efter", "Dato", "DD-MM-ÅÅÅÅ"), "DD-MM-YYYY")
    If IsDate(Dato) Then
    IndeværendeÅr = Year(Dato)
    IndeværendeMåned = Month(Dato)
    IndeværendeDag = Day(Dato)
        MSG1 = MsgBox("Skal lageret filtreres til månedsafslutning?", vbYesNo, "lagerfilterdato")
        If MSG1 = vbYes Then
            If IndeværendeMåned + 1 = 13 Then
            LagerFilterdato = Format("01-01-" & IndeværendeÅr + 1, "DD-MM-YYYY")
            Else: LagerFilterdato = Format("01-" & IndeværendeMåned + 1 & "-" & IndeværendeÅr, "DD-MM-YYYY")
        End If
        Else: LagerFilterdato = Format(Dato, "DD-MM-YYYY")
    End If
    Else: MsgBox ("Ikke rigtig datoformat"): GoTo Datoinput
    End If
Avatar billede birdbrain Seniormester
04. september 2020 - 07:56 #2
Kan godt se mine evner kommer til kort, ved ikke hvordan jeg kan lægge dit forslag ind i min kode. ( Hvis det overhovedet er der).
Det drejer sig om feltet "txt_OrdinationsDato"

Private Sub btn_IndsætData_Click()
    Dim xrow As Long

Sheets("journal").Select
xrow = Range("IndsætFastMedicin").Row + 1

If txt_OrdineretAf = "" Then
MsgBox "Husk ordineret af"
Exit Sub
End If
   
If txt_OrdinationsDato = "" Then
MsgBox "Husk ordinations dato"
Exit Sub
End If

Cells(xrow, 2).Value = txt_OrdinationsDato.Value
Cells(xrow, 4).Value = combo_Præperat.Value
Cells(xrow, 5).Value = txt_Styrke.Value
Cells(xrow, 6).Value = txt_DøgnDosis.Value
Cells(xrow, 7).Value = txt_DosisMo.Value
Cells(xrow, 8).Value = txt_DosisMi.Value
Cells(xrow, 9).Value = txt_DosisAf.Value
Cells(xrow, 10).Value = txt_DosisNa.Value
Cells(xrow, 12).Value = txt_OrdineretAf.Value
   
End Sub
Avatar billede birdbrain Seniormester
04. september 2020 - 11:45 #3
Fandt denne kode, som virker fortrinligt i mit skema, men tak for indlægget kim1a

Private Sub txt_OrdinationsDato_Change()
 
    Dim MyDate As String
   
    MyDate = Replace(Replace(Replace(Replace(txt_OrdinationsDato.Text, ",", "-"), ":", "-"), ";", "-"), ".", "-", 1, Len(txt_OrdinationsDato.Text), vbTextCompare)
    Sheets(1).Range("Ai5").Value = Format(MyDate, "mm-dd-yyyy")
   
End Sub
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