Avatar billede mckim Nybegynder
10. december 2007 - 11:06 Der 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.
Avatar billede supertekst Ekspert
10. december 2007 - 11:23 #1
Afbryd loop:

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
Avatar billede kabbak Professor
10. december 2007 - 11:54 #2
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

    If Not OK Then
        MsgBox "Fejl"
    End If
Avatar billede tjacob Juniormester
10. december 2007 - 17:48 #3
En hurtig kommentar:

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.
Avatar billede tjacob Juniormester
10. december 2007 - 17:50 #4
-Medmindre det er det du ønsker. -Det er lidt uklart.....
Avatar billede supertekst Ekspert
10. december 2007 - 23:13 #5
Det gik lidt for hurtigt..
Avatar billede mckim Nybegynder
11. december 2007 - 12:32 #6
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.
Avatar billede supertekst Ekspert
14. december 2007 - 18:29 #7
Ok - her er så et svar
Avatar billede kabbak Professor
14. december 2007 - 19:21 #8
et svar ;-))
Avatar billede supertekst Ekspert
10. januar 2008 - 13:20 #9
lukketid?
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester