06. november 2002 - 01:46Der er
13 kommentarer og 2 løsninger
Hjælp til lige og ulige
hej jeg håber i kan hjælpe mig er mega ny i det her.
jeg skal lave en lille makro, der skulle kunne se forskel på lige og ulige i et cpr nr. fx. 241202-1815 jeg ved ikke hvordan jeg få fandt i nr. 5 ? jeg har prøve lidt med den virker ikke
If cpr (cpr, 1, 11) = "1" Or "3" Or "5" Or "9" Then MsgBox ("Det er en Dreng") Else MsgBox ("Det er en Pige") End If
du beder om hjælp til at finde ud af hvordan man finder ud af hvorvidt et tal er lige eller ulige, - jeg fortæller dig at hvis du siger (tal mod 2) og dette giver 0 er tallet lige. -simplere kan det simpelthen ikke udtrykkes.
Dim tcpr As Variant tcpr = cpr(cpr, 1, 11) If tcpr = "1" Or tcpr = "3" Or tcpr = "5" Or tcpr = "9" Then MsgBox ("Det er en Dreng") Else MsgBox ("Det er en Pige") End If
jeg tror det er nemmere hvis i ser det hele, men vil også lige sige at det er lave i word
Sub Opgave_4() ' ' Opgave_4 Makro ' Makro oprettet 05-11-2002 af VomarE ' Dim cpr, sum, vgt, nr, tcpr cpr = 1 Do While Len(cpr) < 11 ' Denne linje måler på længden af cpr nummeret cpr = InputBox("Indtast cpr nummer fx 201097-????") If Mid(cpr, 7, 1) <> "-" Then ' Den her fortæller at tegn nr. 7 skal være - cpr = 1 ' goto MsgBox ("Du skal huske -" & vbCeLf & "Og du skal huske at cpr nummeret skal være på 11 tegn") ElseIf Len(cpr) <> 11 Then cpr = 1 ' goto MsgBox ("Dit cpr nummer er for lagt" & vbCrLf & " Der skal være 11 tegn") End If Loop vgt = 43276504321# 'Faktorer vægter skal gangen med samme placering som i cpr nummeret _ cpr nummeret sum = 0 For nr = 1 To 11 ' Det er de 11 cifre der er i et cpr nummer If nr <> 7 Then ' Hvis nr. 7 er et (-) skal den gå videre sum = sum + Mid(vgt, nr, 1) * Mid(cpr, nr, 1) ' Beregner de to tal for at tjekke om der er rigtigt End If Next If sum Mod 11 = 0 Then ' Hvis udregnings måden mod 11 er = 0 er den sand ellerd flask MsgBox ("cpr-Nr er godkendt") Else MsgBox ("Cpr-Nr er falsk") End If
If cpr(cpr, 1, 11) = "1" Or "3" Or "5" Or "9" Then MsgBox ("Det er en Dreng") Else MsgBox ("Det er en Pige") End If
du bruger cpr som en funktion i If cpr(cpr, 1, 11) = "1" Or "3" Or "5" Or "9"
Jeg gætter på at det skulle være MID$(cpr,11,1) (Du har også byttet rundt på start og længde argumenterne) Problemet er at "cpr" er dimmet som variant og du bruger den både som string, integer og function . Det er noget skidt programmering, som vil give problemer før eller siden.
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.