kann man das eleganter machen ?

Bild

Betrifft: kann man das eleganter machen ? von: JL
Geschrieben am: 06.02.2005 13:03:29

Hallo,

Ein Textbereich soll nach bestimmten Zeichenfolgen durchsucht werden, was dann zu einer Hervorhebung führen soll. Hier meine Lösung als Autodidakt

Sub checker()
Dim c As String
For Each Zelle In Range("Textbereich")
    c = "blabla"
checkthis:
    b = InStr(Zelle, c)
    d = Len(Zelle)
    e = 7
    If b + 7 > d Then e = d - b - 1
    If b > 0 Then
         With Zelle.Characters(start:=b, Length:=e).Font
        .FontStyle = "Fett Kursiv"
        .Size = "9"
         End With
         End If
If c = "blabla" Then c = "bleble": GoTo checkthis
If c = "bleble" Then c = "blibli": GoTo checkthis
If c = "blibli" Then c = ... usw.
        Next
End Sub


Abgesehen davon, dass es so auch nicht klappt, wenn die entspr. Folge ein zweites Mal in der Zelle erscheint, muß das doch irgendwie eleganter sehen.
Außerdem würde ich auch gerne nicht Case-sensitiv suchen.

Danke
Jörg
Bild


Betrifft: AW: kann man das eleganter machen ? von: Josef Ehrensberger
Geschrieben am: 06.02.2005 13:35:28

Hallo Jörg!

ZB. so.


      
Sub checker()
Dim Zelle As Range
Dim c As Variant
Dim n As Integer, m As Integer, b As Integer, d As Integer, e As Integer

c = Array(
"blabla""blibli""blublu")   'suchbegriffe

   
For Each Zelle In Range("Textbereich")
   
      
For n = 0 To UBound(c)
      d = Len(Zelle)
      e = Len(c(n))
      m = 1
         
Do
         b = InStr(m, LCase(Zelle), LCase(c(n)))
         
         
            
If b > 0 Then
            
With Zelle.Characters(Start:=b, Length:=e).Font
            .FontStyle = 
"Fett Kursiv"
            .Size = 
"9"
            
End With
            m = b + e
            
End If
         
         
Loop While b > 0
         
      
Next
   
Next
   
End Sub 


     Code eingefügt mit Syntaxhighlighter 3.0




Gruß Sepp

P.S.: Rückmeldung nicht vergessen!


Bild


Betrifft: hat geklappt von: JL
Geschrieben am: 06.02.2005 14:12:10

auf den ersten Versuch super

Danke
J


 Bild

Beiträge aus den Excel-Beispielen zum Thema "kann man das eleganter machen ?"