Print side | Luk vindue

Dato vises forkert

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=4416
Udskrevet den: 29.Apr.2024 kl. 08:23


Emne: Dato vises forkert
Besked fra: prefalch
Emne: Dato vises forkert
Posteringsdato: 04.Dec.2020 kl. 07:39
Jeg er ved at lave en database hvor der lagres serienumre.
Jeg har lavet en userform hvor jeg kan indtaste de forskellige oplysninger, de kommer også over i arket, men når jeg bruger den søgefunktion jeg har lavet så er datoen forkert:

Indtastet dato 04-12-2020 bliver til 07-06-2612

Hvad gør jeg forkert?

Indtastnings koden er:
Private Sub CommandButton2_Click()

Dim TargetRow As Integer
TargetRow = Sheets("Engine").Range("B3").Value + 1

TargetRow = Sheets("Engine").Range("B3").Value + 1 'Sætter Ref feltet = antallet i tællerformlen i "Engine"B3

Sheets("Ark1").Range("Data_Start").Offset(TargetRow, 0).Value = TargetRow 'Ref
Sheets("Ark1").Range("Data_Start").Offset(TargetRow, 1).Value = Txt_fraNR 'Første SN
Sheets("Ark1").Range("Data_Start").Offset(TargetRow, 2).Value = Txt_tilNR 'Sidste SN
Sheets("Ark1").Range("Data_Start").Offset(TargetRow, 3).Value = Txt_ordre 'M-ordrenr
Sheets("Ark1").Range("Data_Start").Offset(TargetRow, 4).Value = Txt_antal 'Antal
Sheets("Ark1").Range("Data_Start").Offset(TargetRow, 5).Value = Combo_varenr 'Varenr
Sheets("Ark1").Range("Data_Start").Offset(TargetRow, 6).Value = Txt_dato 'Dato
Sheets("Ark1").Range("Data_Start").Offset(TargetRow, 7).Value = Combo_navn 'Medarbejdernavn
Sheets("Ark1").Range("Data_Start").Offset(TargetRow, 8).Value = Txt_bem 'Bemærkninger


Søgefunktionen er:

Rem ====================
Dim sidsteRække As Long
Private Sub CommandButton1_Click()
Dim fremstillingsDato As Date, serieNr As String
Rem find sidste række
    sidsteRække = ActiveSheet.Range("A65000").End(xlUp).Row

Rem Fjern evt. - i serienummer
    serieNr = Replace(Me.TextBox1, "-", "")

    If IsNumeric(serieNr) And serieNr <> "" Then
        fremstillingsDato = søgInterval(Val(serieNr))
        If fremstillingsDato > 0 Then
            Me.Label3.Caption = fremstillingsDato
        Else
            Me.Label3.Caption = "Findes ikke"
        End If
    End If
End Sub
Private Function søgInterval(serieNr)
Dim ræk As Long, fra As String, til As String

    With ActiveWorkbook.Sheets("Ark1")
        For ræk = 1 To sidsteRække
            fra = Replace(.Cells(ræk, 1), "-", "")
            til = Replace(.Cells(ræk, 2), "-", "")
            If serieNr >= Val(fra) And serieNr <= Val(til) Then
                søgInterval = .Cells(ræk, 6)
                Exit Function
            End If
        Next ræk
    End With
    
    søgInterval = 0
End Function



Print side | Luk vindue