Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1192to1196
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

zellen einfärben nach Suche nach Wort | Herbers Excel-Forum

zellen einfärben nach Suche nach Wort
13.01.2011 07:31:02
Christian

Hallo Leute,
Ich benutze folgendes Makro, dass einen bestimmten Zellenbereich einfärbt, sobald einer festgelegten Zelle ein bestimmtes Wort eingetippt wird. Funktioniert ganz wunderbar, solange Excel nur nach einenm Wort suchen muss. Nun soll Excel aber nach ca. 20 verschiedenen Wörtern suchen und den Zellenbereich jeweils unterschiedlich einfärben. Her erstmal das Makro:
Private Sub Worksheet_change(ByVal Target As Range)
If Target.Address = "$F$18" Then
   If LCase$(Target.Text) = "wupp" Then
       Range("F18:G26").Interior.Color = Range("I5").Interior.Color
   Else
       Range("F18:G26").Interior.ColorIndex = xlColorIndexNone
   End If
End If
Ich habe versucht, dieses Makro einfach doppelt, dreifach und öfter hintereinander zu kopieren und jeweils den Suchbegriff zu ändern. funktioniert in der Praxis nicht, dass Excel dann nur den zu letzt genannten Begriff akzeptiert und alle anderen Begriffe einfach ignoriert. Auch habe ich die Zeile If LCase$(Target.Text) = "wupp" Then öfter hintereinander geschrieben, jeweils mit end if, und das zu suchende Wort geändert. War ledere ach nix. Hat jemand eine idee, wie man ex el überreden kann, nach mehr als einem Wort zu suchen und die Zellen entsprechend einzufärben?
Gruss,
Christian

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Select Case LCase$(Target.Text)
13.01.2011 07:46:09
Matthias L
Hallo
'Texte bitte anpassen
If Target.Address = "$F$18" Then
Select Case LCase$(Target.Text)
Case Is = "wupp1"
Range("F18:G26").Interior.Color = Range("I5").Interior.Color
Case Is = "wupp2"
Range("F18:G26").Interior.Color = Range("J5").Interior.Color
Case Is = "wupp3"
Range("F18:G26").Interior.Color = Range("K5").Interior.Color
End Select
End If
Gruß Matthias
AW: Select Case LCase$(Target.Text)
13.01.2011 11:48:58
Christian
Hallo Matthias,
Danke. Funktioniert perfekt. Weisst du, warum man nicht einfach genau jedes Makro beliebig oft hintereinandeer kopieren kann? Excel nimmt dann im nur den letzten Suchbegriff und ignoriert alle anderen, d.h. De Zellen werden nicht eingefärbt. Komisch. Es kommt auch keine fehlermeldung.
Danke nochmals für deine Hilfe.
Christian
Anzeige
was macht der Code ...
13.01.2011 14:07:15
Matthias L
Hallo
Das will ich Dir gern erklären,
weil der VBACode Zeile für Zeile abgearbeitet wird.
Außerdem ist Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ein Ereignismakro das (wie es so schön heißt) auf ein Ereignis reagiert. In Deinem Fall auf
den Eintrag in Zelle(F18). Das eigentliche Ereignis (SelectionChange) gibt es pro Blatt nur einmal und kann nicht mehrfach verwendet werden. Innerhalb der Prozedur kannst Du jedoch Codezeilen wiederholen (wenn es Sinn macht), oder auch andere Anweisungen starten.
Bsp:
Dein 1.Code aus dem ersten Beitrag

If Target.Address = "$F$18" Then
If LCase$(Target.Text) = "wupp" Then
Range("F18:G26").Interior.Color = Range("I5").Interior.Color
Else
Range("F18:G26").Interior.ColorIndex = xlColorIndexNone
End If
end if
Was macht der ?
Wenn in der Zelle F18 der Text "wupp" steht nimmt Dein Bereich ( Range("F18:G26") ) die Farbe der Zelle I5 an. soweit ok.
Durch die Else-Anweisung wird die Hintergrundfarbe des Bereichs wieder neutral (wenn nicht "wupp" darin steht.
Du hättest also auch mir der OR arbeiten können:
If LCase$(Target.Text) = "wupp" OR LCase$(Target.Text) = "hallo" Then ...
Gruß Matthias
Anzeige
ich meinte -> Worksheet_Change oT
13.01.2011 14:12:00
Matthias L
AW: was macht der Code ...
14.01.2011 18:37:29
Christian
Hallo Matthias,
danke für die Erklärungen. Das ist (endlich) mal eine Erklärung, die ich als superLaie auch verstehen kann :-)
Dein Makro läuft soweit. Insgesamt aber muss ich 300 (!) verschiedene Begriffe und nicht ganz so viele Farben wählen. Ist ne Menge Arbeit. Ich sage dir bescheid, ob es auch dann noch läuft, in einigen Wochen :-)
Ich habe es geschafft, dass neben den Farben auch noch gleichzeitig die Registerkartennamen geändert werden. Alles Anfängerglück :-) Zumal das Makro mit den Registernamen nicht von mir ist, aber beides parallel laufen zu kriegen ist ja schon was :-) In basic 1.0, damals auf dem guten alten CPC, war das einfach *grins* (80er jahre)
Sag mal: Wohnst du im Ruhrgebiet? Jemand der mir einen kleinen Kurs in VBA gibt, wäre toll.....
Ich habe da noch 1-2 Makros, die ich mir dir gerne durchsprechen würde, per privatmail? (gleiches thema wie dieses)
Gruß,
Christian
Anzeige
AW: was macht der Code ...
14.01.2011 18:37:29
Christian
Hallo Matthias,
danke für die Erklärungen. Das ist (endlich) mal eine Erklärung, die ich als superLaie auch verstehen kann :-)
Dein Makro läuft soweit. Insgesamt aber muss ich 300 (!) verschiedene Begriffe und nicht ganz so viele Farben wählen. Ist ne Menge Arbeit. Ich sage dir bescheid, ob es auch dann noch läuft, in einigen Wochen :-)
Ich habe es geschafft, dass neben den Farben auch noch gleichzeitig die Registerkartennamen geändert werden. Alles Anfängerglück :-) Zumal das Makro mit den Registernamen nicht von mir ist, aber beides parallel laufen zu kriegen ist ja schon was :-) In basic 1.0, damals auf dem guten alten CPC, war das einfach *grins* (80er jahre)
Sag mal: Wohnst du im Ruhrgebiet? Jemand der mir einen kleinen Kurs in VBA gibt, wäre toll.....
Ich habe da noch 1-2 Makros, die ich mir dir gerne durchsprechen würde, per privatmail? (gleiches thema wie dieses)
Gruß,
Christian
Anzeige
der beste Trainer ist das Forum !
14.01.2011 21:19:00
Matthias L
Hallo
Alles was Du brauchst, kannst Du hier erfahren. Teils aus dem Archiv, teils durch neue Fragen.
Private Hilfestellung kann ich Dir nicht erteilen, zudem ich selbst nur Hobbyprogrammierer bin.
Es geht aber auch darum, das andere User die mitlesen, ebenfalls das Eine oder Andere erfahren können.
Deshalb sollten Fragen immer im Forum gestellt und beantwortet werden.
300 verschiedene Begriffe sind sicher auch kein Problem.
Läßt sich garantiert auch ganz einfach händeln.
und ...
Nein, ich komm nicht aus dem Ruhrgebiet.
Gruß Matthias
Anzeige

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige