Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
204to208
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
204to208
204to208
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bed. Formatierg. - mehr als 3

Bed. Formatierg. - mehr als 3
22.01.2003 00:14:44
Anke
Hallo Ihr lieben,

nachdem ich nun schon viele Tage mit dem Durchforsten von Beiträgen verbracht habe (leider erfolglos - Suchfunktion für das Archiv funzt bei mir nicht), nun meine Frage an Euch:

Ich habe mehrere (etwa 15) Wörter/Buchstabenkombinationen, die durch eine bedingte Formatierung ein bestimmtes Format zugewiesen bekommen sollten. Außerdem sollte noch eine bedingte Formatierung funktionieren, die sich auf eine Zahl bezieht.

Beispiel:

1) Text1; Schrift fett schwarz; Hintergrund rot
2) Text2; Schrift fett weiß; Hintergrund blau
3) Text3; Schrift fett schwarz; Hintergrund gelb
.
.
.
15) Text15; Schrift fett schwarz; Hintergrund hellgrün
16) Zahl; wenn größer 100, dann rot und fett.

Falls der Text in der Zelle gelöscht wird (z.B. bei Falscheingabe), soll auch das zugewiesene Format (z.B. Hintergrund etc.) wieder entfernt werden.

Die Lösung (evtl. VBA) sollte für Excel 97 und XP funktionieren. Meine VBA-Kenntnisse sind zwar sehr mager, sollten aber für die restlichen - nicht aufgeführten - Bedingungen reichen.

Freue mich auf Eure Antworten und vielen lieben Dank im voraus

Anke





5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Bed. Formatierg. - mehr als 3
22.01.2003 00:25:14
Bernd Held
Hallo Anke,

lege folgenden code hinter die Tabelle (rechter MAusklick auf Tabellenreiter und Befehl Code anzeigen wählen)

Private Sub Worksheet_Change(ByVal Target As Range)
Select Case Target.Value
Case "Text1"
Target.Font.Bold = True
Target.Font.ColorIndex = 1
Target.Interior.ColorIndex = 3
Case "Text2"
Target.Font.Bold = True
Target.Font.ColorIndex = 2
Target.Interior.ColorIndex = 5
Case Else
Target.Font.Bold = False
Target.Font.ColorIndex = xlColorIndexAutomatic
Target.Interior.ColorIndex = xlColorIndexAutomatic
End Select

End Sub

Viele Grüße
Bernd
MVP für Microsoft Excel
Noch mehr Excel-Tipps und VBA-Datenbank unter: http://held-office.de

Anzeige
Re: Bed. Formatierg. - mehr als 3
22.01.2003 00:28:36
Boris
Hi Anke,

direkt in das Tabellenblatt einfügen:

Gruß Boris

Re: Bed. Formatierg. - mehr als 3
22.01.2003 01:31:53
Anke
Hallo Boris,

vielen herzlichen Dank! Es funktioniert einwandfrei. Bei der Ergänzung der restlichen Argumente sehe ich keine Probleme.

So wie ich es verstanden habe, gilt dieser Code für das gesamte Tabellenblatt.

Aber ich ahnte es bereits, dass ich noch etwas vergessen habe:

In meinem Tabellenblatt gibt es mehrere Teilbereiche (z.B. D5:H20 und D30:H45 usw.), auf die die bedingte Formatierung zutreffen soll. Diese Bereiche könnten (!?) sich auch noch erweitern.

Alle übrigen Zellen sollten das Standardformat haben. Diese beinhalten Text, Zahlen und Formeln und können ja ggf. über Format Zellen geändert werden.

Wie kann man das noch in den Code einbinden?

Und nochmals vielen Dank für die rasche Antwort.

Gruß Anke








Anzeige
Re: Bed. Formatierg. - mehr als 3
22.01.2003 02:00:57
Anke
Hallo Bernd,

auch an Dich ein herzliches Dankeschön!

Hab Deinen Lösungvorschlag auch gleich ausprobiert und noch 3 Fragen:

1) Wenn ich in irgendeine Zelle eine Zahl eingebe, wird der Hintergrund weiß und somit sind die Gitternetzlinien nicht mehr sichtbar. Kann man das abändern?

2) Wie lautet der Befehl, wenn z.B. alle Zahlen größer 100 auch ein anderes Format haben sollen?

3) Bei den zur Verfügung stehen Farben fehlen mir die Pastelltöne (z.B. orange, hellgrün etc.). Hab ich da irgendwo was übersehen?

Werde demnächst auch mal auf deinen Seiten rumstöbern ;-).

Und nochmals vielen Dank für die rasche Antwort.

Gruß Anke




Anzeige
Re: Bed. Formatierg. - mehr als 3
22.01.2003 09:22:22
Boris
Hi Anke,

zu Beginn des Codes füge folgende Zeile ein:

In den Bereichen, die du angibst (hier A1:A10, D1:D10 und F20:F30) ist die Formatierung aktiv. Diese Bereich kannst du anpassen und erweitern - immer nur mit Komma getrennt.

Allerdings ist mir noch ein Fehler aufgefallen:
Wenn innerhalb eines solchen Bereiches ein x-beliebiger Text, der nicht formatiert werden soll, eingetragen wird, dann gibt es einen Laufzeitfehler in der Zeile "Case Is > 100".
Wie man das behebt, weiss ich auf die Schnelle auch nicht.

Gruß Boris

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige