AW: Buchstabenfolgen in Variable suchen
22.01.2011 17:18:52
fcs
Hallo Stefan,
hier ein Beispiel, wie du Zellen nach Buchstaben/Buchstabenfolgen durchsuchen kannst, die durch Komma getrennt sind.
Gruß
Franz
Sub ZellenTesten()
Dim Zeile As Long, arrWerte, iJ As Integer
arrWerte = Array("e", "v", "sen", "akt", "mtr", "bgf")
With ActiveSheet
For Zeile = 2 To .Cells(.Rows.Count, 2).End(xlUp).Row
For iJ = LBound(arrWerte) To UBound(arrWerte)
With .Cells(Zeile, 2)
If TextAnalyse(.Text, arrWerte(iJ), True) Then
Select Case arrWerte(iJ)
Case "e"
MsgBox """" & arrWerte(iJ) & """ in Zelle " & .Address & " gefunden."
Case "v"
MsgBox """" & arrWerte(iJ) & """ in Zelle " & .Address & " gefunden."
Case "mtr"
MsgBox """" & arrWerte(iJ) & """ in Zelle " & .Address & " gefunden."
Case "sen"
MsgBox """" & arrWerte(iJ) & """ in Zelle " & .Address & " gefunden."
Case "mtr"
MsgBox """" & arrWerte(iJ) & """ in Zelle " & .Address & " gefunden."
Case "akt"
MsgBox """" & arrWerte(iJ) & """ in Zelle " & .Address & " gefunden."
Case "bgf"
MsgBox """" & arrWerte(iJ) & """ in Zelle " & .Address & " gefunden."
End Select
End If
End With
Next
Next Zeile
End With
End Sub
Function TextAnalyse(ByVal sText As String, ByVal sSuchen As String, _
Optional bGrossKlein As Boolean = True) As Boolean
Dim arrText, iJ As Integer
If sText = "" Then
'do nothing
Else
arrText = Split(sText, ",")
For iJ = LBound(arrText) To UBound(arrText)
arrText(iJ) = IIf(bGrossKlein, Trim(arrText(iJ)), LCase(Trim(arrText(iJ))))
If arrText(iJ) = IIf(bGrossKlein, sSuchen, LCase(sSuchen)) Then
TextAnalyse = True
Exit For
End If
Next
End If
End Function