Problem med if sætning.
Jeg har problemer med min if-sætning. Meningen er den skal skrive et CPR nummer, hvis modulus 11 tjekket er godkendt, men den skriver ALLE CPR numrene som jeg genererer således jeg får 9999 CPR numre:Sub test()
Dim dato As String
Dim dag As String
Dim md As String
Dim år As String
Dim CPR_OK As Boolean
Dim i As Integer
Dim a As Integer, b As Integer, c As Integer, d As Integer, e As Integer, f As Integer, g As Integer, h As Integer
Dim j As Integer
Dim løbenummer As String
Dim testsum As Long
Dim tæller As Integer
Dim CPR_samlet As String
Dim Nr_K As Integer
Dim check_dato As Boolean
Do
check_dato = True
dato = InputBox("indtast fødselsdagen du ønsker at finde CPR numre for DDMMÅÅÅÅ", "Fødselsdato boks")
dag = (Left(dato, 2))
md = (Mid(dato, 3, 2))
år = (Right(dato, 4))
If dag * 1 < 1 Or dag * 1 > 31 Then check_dato = False
If md * 1 < 1 Or md * 1 > 12 Then check_dato = False
If år * 1 < 1858 Or år * 1 > 2057 Then check_dato = False
If check_dato = False Then MsgBox ("Den indtastede dato er forkert")
Loop Until check_dato = True
'hvis den indtastede dato er sand går vi videre og tjekker
If check_dato = True Then
For tæller = 0 To 9999 Step 1
løbenummer = Format(tæller, "000#")
CPR_samlet = dag & md & Mid(år, 3, 2) & "-" & løbenummer
a = Mid(CPR_samlet, 1, 1)
b = Mid(CPR_samlet, 2, 1)
c = Mid(CPR_samlet, 3, 1)
d = Mid(CPR_samlet, 4, 1)
e = Mid(CPR_samlet, 5, 1)
f = Mid(CPR_samlet, 6, 1)
g = Mid(CPR_samlet, 8, 1)
h = Mid(CPR_samlet, 9, 1)
i = Mid(CPR_samlet, 10, 1)
j = Mid(CPR_samlet, 11, 1)
testsum = (4 * a + 3 * b + 2 * c + 7 * d + 6 * e + 5 * f + 4 * g + 3 * h + 2 * i + j)
If (testsum Mod 11) = 0 Then CPR_OK = True
'hvis CPR opfylder modulus 11 tjekket kopieres det i en ny række til excel:
If CPR_OK = True Then Nr_K = Nr_K + 1
Range("a1").Offset(Nr_K, 0).Value = CPR_samlet
Next tæller
End If
End Sub