Avatar billede hjertet Nybegynder
05. oktober 2006 - 06:15 Der er 2 kommentarer og
1 løsning

Select Case - duer den kun med numeriske værdier?

Jeg vil gerne have et ord eller bogstavvalg fra en Inputboks behandlet i en Select Case.

Men jeg kan ikke få det til at virke, hvis Svarvariablen til Inputboksen er dim'et til String.

Det går fint, hvis der vælges tal i Inputboksen med Svarvariablen dim'et til Integer.

Kan det løses, så der kan testes på bogstaver/ord?

Hjertet

Eksempler:

'******* VIRKER *******
Sub Find_og_Farv()

    Dim Søgeord As String
    Dim Farve As Integer
   
' Hvad skal udvælges
    Søgeord = InputBox("Hvad skal der søges efter?", "Søgeord")
   
    Farve = InputBox("Hvilken farve ønskes? 3 - rød, 4 - grøn, 5 - blå", _
        "Farvevalg")
' Rød = 3, Grøn = 4, Blå = 5. 0 (nul) giver automatisk farve = sort
' Der kunne i princippet vælges en hvilken som helst farve fra farveindekset
' Hvis man sad med det ved hånden (skærmen)
   
    Debug.Print Farve
       
        Cells.Find(What:=Søgeord, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
            :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
            False, SearchFormat:=False).Activate
        With Selection.Font
            .ColorIndex = Farve
            .Bold = True
        End With

End Sub
'******* VIRKER *******


'******* VIRKER IKKE *******
Sub Find_og_Farv2()

    Dim Søgeord As String
    Dim Farve As String
    Dim FarveTal As Integer
    Dim R, G, B As String
   
' Hvad skal udvælges
    Søgeord = InputBox("Hvad skal der søges efter?", "Søgeord")
   
    Farve = InputBox("Hvilken farve ønskes? R - rød, G - grøn, B - blå", _
        "Farvevalg")
' Rød = 3, Grøn = 4, Blå = 5. 0 (nul) giver automatisk farve = sort
   
    Select Case Farve
        Case Farve = R
        FarveTal = 3
        Debug.Print Farve & FarveTal
        Case Farve = G
        FarveTal = 4
        Debug.Print Farve & FarveTal
        Case Is = B
        FarveTal = 5
        Debug.Print Farve & FarveTal
        Case Else
        Debug.Print "Havd sker der her?"
    End Select
   
    Debug.Print Farve
    Debug.Print FarveTal
       
        Cells.Find(What:=Søgeord, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
            :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
            False, SearchFormat:=False).Activate
        With Selection.Font
            .ColorIndex = FarveTal
            .Bold = True
        End With
End Sub
'******* VIRKER IKKE *******
Avatar billede kabbak Professor
05. oktober 2006 - 06:28 #1
Select Case Farve
        Case Farve = "R"
        FarveTal = 3
        Debug.Print Farve & FarveTal
        Case Farve = "G"
        FarveTal = 4
        Debug.Print Farve & FarveTal
        Case Is = "B"
        FarveTal = 5
        Debug.Print Farve & FarveTal
        Case Else
        Debug.Print "Havd sker der her?"
    End Select
Avatar billede hjertet Nybegynder
05. oktober 2006 - 08:47 #2
Hej kabbak
Har ikke testet det. Men går ud fra det passer, når du skriver det!
Hvor dum kan man være - eller hvor meget (nyt) kan man lære?
Gi' et svar, så du kan få dine point.
Hilsen fra Hjertet
Avatar billede kabbak Professor
05. oktober 2006 - 09:53 #3
Bogstaver er altid tekst og skal så i "", ellers tror Case at det er en variabelog det er det jo ikke.
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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