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