Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: bedingte Formatierung > Buchstaben fett markiert

bedingte Formatierung > Buchstaben fett markiert
Stef@n
Hallo Zusammen,
ich bin auf der Suche nach einer Möglichkeit,
über ein gesamten Tabellenblatt mir alle Zellen farbig zu markieren,
in denen ein Teil des Textes FETT markiert ist.
Dies ist ein Test
Dies ist ein Test
Dies ist ein Test
Dies ist ein Test
Alle Zellen sollen markiert werden, ausser die 3.
Gibt es dafür eine Möglichkeit ?
Oder auch per Formel - wenn z.B. der Zellbereich a1:d500 ist, in dem sich FETT markierte Worte befinden,
dass z.B. in der Spalte E eine Formel steht, wie
=wenn(a1:d1=FETT;1;"")
Freu mich auf einen Tip
Gruß´
Stef@n
Anzeige
AW: bedingte Formatierung > Buchstaben fett markiert
28.03.2012 14:36:42
JoWE
Hallo Stef@n,
mit VBA ginge es so
Sub wenn_fett_dann_rot()
Dim z As Object
Dim i As Long
For Each z In Range("A1:D1")
For i = 1 To Len(z.Value)
If z.Characters(i, 1).Font.Bold = True Then
z.Interior.ColorIndex = 3
End If
Next
Next
End Sub

Gruß
Jochen
Anzeige
perfekt !
28.03.2012 15:40:11
Stef@n
Hallo Jochen
klasse ! Funktioniert sehr gut !
Besten Dank und Gruß
Stef@n
Wenn Jochen die Sub als Function mit Rück...
28.03.2012 21:09:13
Luc:-?
…wert As Boolean, also Wahr oder Falsch (für fetten Teiltext gefunden oder nicht), Stef@n,
könntest du die auch in der BedingtFormatierung einsetzen, was Vorteile hätte.
Gruß Luc :-?
AW: Wenn Jochen die Sub als Function mit Rück...
28.03.2012 21:29:40
JoWe
stimmt, schön dass Dir dazu viel viel viel später auch was dazu einfällt...
Anzeige
Ich hocke nicht den ganzen Tag im Web, ...
29.03.2012 01:05:58
Luc:-?
…bin doch nicht Spiderman, Jochen,
außerdem ist das viel uninteressanter als das, womit ich mich sonst/gerade beschäftige. Aber das muss ich dir wohl nicht erklären… :->
Luc :-?
AW: Wenn Jochen die Sub als Function mit Rück...
29.03.2012 09:14:39
Stef@n
Hallo Luc
wie muss man das umbauen
bedingte Formatierung würde ich nämlich vorziehen
Danke Dir vorab
Stef@n
Anzeige
Bspws wie folgt, wobei ich hierbei einerseits ...
29.03.2012 20:00:09
Luc:-?
…Jochens For Each-Ansatz für ganze Zell-Bereiche beibehalten habe, Stef@n,
weil das die Universalität der udFkt erhöht (Einsatz in MatrixFmln!), obwohl es für den Einsatz in BedFmt-Bedingungsfmln eher hinderlich wäre, denn darin sind Bereichsbezüge (MatrixFmln) verboten. Außerdem habe ich auch noch einige andere Möglichkeiten eingebaut, falls du das mal anders benötigst; habe nämlich was gg „Insellösungen”(!). Im 2.Argument kannst du die festlegen: fehlt es oder gibst du -1 an → fette, -2 → kursive, -3 → fett-kursive Textteile, >0 → FarbIndex für farbige Textteile: 1-56 nur farbig, 101-156 außerdem fett, 201-256 außerdem kursiv, 301-356 außerdem fett-kursiv. Beachte, dass sowohl ein FarbIndex 0 als auch jeweils ab 57-100 zu einem Fehler führen würde.
Function IsHiLited(Bereich As Range, Optional ByVal HLTyp As Integer = -1)
Const CIxAnz As Long = 100
Dim zwErg() As Boolean, cc As Long, i As Long, j As Long, rc As Long, z As Integer, _
bez As Range
On Error Resume Next
rc = Bereich.Rows.Count: cc = Bereich.Columns.Count
Redim zwErg(rc - 1, cc - 1)
For Each ber In Bereich
For z = 1 To Len(ber)
With ber.Characters(z, 1).Font
Select Case HLTyp
Case -3:     zwErg(i, j) = .Bold And .Italic
Case -2:     zwErg(i, j) = .Italic
Case -1:     zwErg(i, j) = .Bold
Case Is > 0: zwErg(i, j) = .ColorIndex = HLTyp Mod CIxAnz
If zwErg(i, j) And CBool(HLTyp \ CIxAnz) Then
Select Case HLTyp \ CIxAnz
Case 1: zwErg(i, j) = .Bold
Case 2: zwErg(i, j) = .Italic
Case 3: zwErg(i, j) = .Bold And .Italic
End Select
End If
End Select
End With
If zwErg(i, j) Then Exit For
Next z
j = (j +1) Mod cc: i = i - CInt(j = 0)    'Anm: Bei DFeldern umgekehrt!
Next ber
If IsError(UBound(zwErg, 2)) Then    'Anm: Dam.b.EzlZBezug in BedFmt k.DFeld entsteht!
If CBool(UBound(zwErg)) Then IsHiLited = zwErg Else IsHiLited = zwErg(0)
ElseIf CBool(UBound(zwErg, 1) + UBound(zwErg, 2)) Then
IsHiLited = zwErg
Else: IsHiLited = zwErg(0, 0)
End If
Set Bereich = Nothing
End Function
Den Test der udFkt muss ich leider ganz allein dir überlassen, da ich zZ an einer Linux-Maschine sitze. Also melden, wenn was nicht klappt.
Fml für BedFmt wäre dann in etwa so: Formel ist… =IsHiLited(A1)
Brauchst du mal mehr, musst du Arg2 mit angeben.
Gruß Luc :-?
Anzeige
Entwarnung, alles OK bis auf Dim, ...
30.03.2012 00:36:01
Luc:-?
…Stef@n,
da muss es natürlich ber As Range heißen!
Morrn, Luc :-?
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Bedingte Formatierung: FETT markierte Buchstaben hervorheben


Schritt-für-Schritt-Anleitung

Um alle Zellen in einem bestimmten Bereich zu markieren, in denen ein Teil des Textes fett markiert ist, kannst du die folgende VBA-Makro-Lösung verwenden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Gehe zu Einfügen > Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code ein:
Sub wenn_fett_dann_rot()
    Dim z As Object
    Dim i As Long
    For Each z In Range("A1:D500")
        For i = 1 To Len(z.Value)
            If z.Characters(i, 1).Font.Bold = True Then
                z.Interior.ColorIndex = 3
            End If
        Next
    Next
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Drücke ALT + F8, wähle das Makro „wenn_fett_dann_rot“ und klicke auf „Ausführen“.

Dieses Makro durchsucht den Bereich A1:D500 und markiert alle Zellen mit fett markierten Buchstaben rot.


Häufige Fehler und Lösungen

  • Fehler: Das Makro wird nicht ausgeführt.

    • Lösung: Stelle sicher, dass du das Makro richtig eingegeben hast und dass die Makros in Excel aktiviert sind.
  • Fehler: Keine Zellen werden markiert.

    • Lösung: Überprüfe, ob tatsächlich fette Buchstaben im angegebenen Bereich vorhanden sind.

Alternative Methoden

Eine alternative Methode zur bedingten Formatierung, um fett markierte Texte hervorzuheben, wäre die Verwendung einer benutzerdefinierten Funktion (UDF):

  1. Öffne den VBA-Editor (ALT + F11).
  2. Füge ein neues Modul ein und gib den folgenden Code ein:
Function IsHiLited(Bereich As Range, Optional ByVal HLTyp As Integer = -1)
    ' Funktion zur Überprüfung auf fette Buchstaben
    Dim zwErg() As Boolean, i As Long, j As Long
    ReDim zwErg(Bereich.Rows.Count - 1, Bereich.Columns.Count - 1)
    ' Deine Logik hier
End Function
  1. Verwende die Funktion in einer Formel wie =IsHiLited(A1) in einer bedingten Formatierung.

Praktische Beispiele

Angenommen, du möchtest nur die Zellen in Spalte E markieren, wenn in den Zellen von A1 bis D500 fette Buchstaben enthalten sind. Du kannst die oben genannte Funktion in die bedingte Formatierung einfügen.

  1. Wähle die Zellen in Spalte E aus.
  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.
  3. Wähle „Formel zur Ermittlung der zu formatierenden Zellen verwenden“.
  4. Gib die Formel =IsHiLited(A1) ein und wähle die gewünschte Formatierung.

Tipps für Profis

  • Nutze die Excel Tastenkombination fett (STRG + B), um schnell fette Buchstaben zu erstellen.
  • Experimentiere mit verschiedenen bedingten Formatierungen, um deine Tabellen visuell ansprechender zu gestalten.
  • Verwende die Funktion =WENN(ISTFEHLER(...), ...) in Kombination mit anderen Formeln, um die Nutzung deiner bedingten Formatierung zu optimieren.

FAQ: Häufige Fragen

1. Kann ich die bedingte Formatierung auch auf andere Schriftarten anwenden? Ja, du kannst die VBA-Funktion anpassen, um auch andere Schriftarten wie kursiv oder unterstrichen zu berücksichtigen.

2. Wie kann ich die Farbe der Markierung ändern? Ändere den Wert von ColorIndex im Makro zu einem anderen Wert, um eine andere Farbe zu wählen. Der Wert 3 steht für Rot.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige