10. december 2007 - 11:06Der er
7 kommentarer og 2 løsninger
Problem med hvis-sætning
Hej
Jeg har et regneark, hvor jeg indtaster en bogstavkombination. Hvis bogstavkombinationen findes, skal den hente nogle data. Lige pt. virker det sålænge bogstavkombinationen findes, men hvis jeg indtaster noget som ikke findes, fortsætter programmet videre. For at forhindre det, har jeg indsat en betingelse, men den bliver åbenbart ignoreret.
Min kode ser således ud: Kombination = "" Kombination = UCase(InputBox("Indtast en kombination")) For Each x In Worksheets("Kombinationer").Range("A2:A20") If x = Kombination Then Data = x.Offset(0, 3) Navn = x.Offset(0, 1) Else MsgBox "Fejl" End If Next
Med andre ord: Indtaster man noget som ikke findes i arket, skal dem melde fejl. Det skal helst løses nogenlunde sådan som jeg har gjort, da det er en del af en ugeopgave. På forhånd tak.
For Each x In Worksheets("Ark1").Range("A2:A20") If x = kombination Then Data = x.Offset(0, 3) Navn = x.Offset(0, 1) Else MsgBox "Fejl" Exit For End If Next
Dim OK As Boolean OK = False Kombination = "" Kombination = UCase(InputBox("Indtast en kombination")) For Each x In Worksheets("Kombinationer").Range("A2:A20") If UCase(x) = Kombination Then Data = x.Offset(0, 3) Navn = x.Offset(0, 1) OK = True End If Next
supertekst's løsning duer ikke, med mindre den rigtige værdi står i det første felt. -Den springer ud af loopet første gang den den rammer en celle(A2) der ikke indeholder den korrekte værdi.
Okay... Der er åbenbart også en fejl i opbygningen af min egen kode. Jeg fik arbejdet mig frem i mod, at hvis ikke værdien fandtes, så kom "Fejlmeddelsen", men efter man havde klikket ok, kom den næste inputbox. Det må være en fejl i en af mine betingelser ;) Men i er velkomne til at ligge et svar for den tid i har brugt på mit spørgsmål.
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.