Jeg sidder og laver en opgave, som skal teste om CPR-NR passer via modulus 11 metoden.
Jeg har følgende kode, men den melder overflow, jeg kan ikke selv finde problemet. Håber I kan hjælpe
Sub OBL_Opg2()
Dim i As Integer Dim AR As Integer Dim CPR As String Dim CPR1 As String Dim NR As Integer
Dim ark1 As Range Dim ark2 As Range
Dim a As Integer Dim b As Integer Dim c As Integer Dim d As Integer Dim E As Integer Dim F As Integer Dim G As Integer Dim H As Integer Dim ii As Integer Dim j As Integer
Dim TestSum As Long
Set ark1 = ThisWorkbook.Sheets("Medlemskartotek").Range("A2") Set ark2 = ThisWorkbook.Sheets("Sheet1").Range("A2")
AR = ark1.CurrentRegion.Rows.Count
With ark1
For i = 1 To AR - 1
CPR = .Offset(i, 0)
a = Left(CPR, 1) b = Left(CPR, 2) c = Left(CPR, 3) d = Left(CPR, 4) E = Left(CPR, 5) F = Left(CPR, 6) G = Left(CPR, 8) H = Left(CPR, 9) ii = Left(CPR, 10) j = Left(CPR, 11)
TestSum = (4 * a + 3 * b + 2 * c + 7 * d + 6 * E + 5 * F + 4 * G + 3 * H + 2 * ii + j)
If (TestSum Mod 11) <> 0 Then NR = NR + 1 ark2.Offset(NR, 0) = CPR
Jeg rettede min kode så den er følgende, men nu står den bare og kører? Har jeg fået lavet en uendelig løkke?
Sub OBL_Opg2()
Dim i As Integer Dim AR As Integer Dim CPR As String Dim CPR1 As String Dim NR As Integer
Dim ark1 As Range Dim ark2 As Range
Dim a As Integer Dim b As Integer Dim c As Integer Dim d As Integer Dim E As Integer Dim F As Integer Dim G As Integer Dim H As Integer Dim ii As Integer Dim j As Integer
Dim TestSum As Long
a = Left(CPR, 1) b = Mid(CPR, 2, 1) c = Mid(CPR, 3, 1) d = Mid(CPR, 4, 1) E = Mid(CPR, 5, 1) F = Mid(CPR, 6, 1) G = Mid(CPR, 8, 1) H = Mid(CPR, 9, 1) i = Mid(CPR, 10, 1) j = Right(CPR, 1)
Set ark1 = ThisWorkbook.Sheets("Medlemskartotek").Range("A2") Set ark2 = ThisWorkbook.Sheets("Sheet1").Range("A2")
Jeg har ikke testet, men kan se et par fejl Du skal have skilt alle crpnumre ad, så sektionen med left, mid og right skal flyttes og dim if-sætning til sidst driller også.
Sub OBL_Opg2()
Dim i As Integer Dim AR As Integer Dim CPR As String Dim CPR1 As String Dim NR As Integer
Dim ark1 As Range Dim ark2 As Range
Dim a As Integer Dim b As Integer Dim c As Integer Dim d As Integer Dim E As Integer Dim F As Integer Dim G As Integer Dim H As Integer Dim ii As Integer Dim j As Integer
Dim TestSum As Long
Set ark1 = ThisWorkbook.Sheets("Medlemskartotek").Range("A2") Set ark2 = ThisWorkbook.Sheets("Sheet1").Range("A2")
AR = ark1.CurrentRegion.Rows.Count
With ark1
For i = 1 To AR - 1
CPR = .Offset(i, 0) a = Left(CPR, 1) b = Mid(CPR, 2, 1) c = Mid(CPR, 3, 1) d = Mid(CPR, 4, 1) E = Mid(CPR, 5, 1) F = Mid(CPR, 6, 1) G = Mid(CPR, 8, 1) H = Mid(CPR, 9, 1) i = Mid(CPR, 10, 1) j = Right(CPR, 1)
du må gerne skrive et svar så der kan tildeles point
Synes godt om
Ny brugerNybegynder
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.