Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1256to1260
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

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
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
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 :-?
Anzeige
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...
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
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 :-?

32 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige