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 *******