Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Fetter Teiltext einer Zelle in Klammern setzen

Fetter Teiltext einer Zelle in Klammern setzen
21.07.2006 08:36:50
Gregor
Hallo Excel-Profis
Mit dem nachfolgenden Code erreiche ich, dass ein in Klammern gesetzter Teiltext einer Zelle fett formatiert wird.
Nun zu meiner Frage: Ist es möglich, dass ganze umgekehrt zu machen: d.h., ein fett formatierter Teiltext einer Zelle in Klammern zu setzen? Wie würde ein entsprechender Code lauten?
Vielen Dank für deine kompetente Hilfe!
Grüsse Gregor

Sub Fett_Schrift()
Application.ScreenUpdating = False
Dim intStart As Integer, intEnde As Integer
Dim rng As Range
For Each rng In Range("e1:E" & Anzahl)
If Len(rng) > 0 Then
intStart = InStr(1, rng, "[")
intEnde = InStr(1, rng, "]")
If intStart > 0 And intEnde > 0 Then
Do
rng.Characters(intStart + 1, intEnde - intStart - 1).Font.Bold = True
intStart = InStr(intEnde + 1, rng, "[")
intEnde = InStr(intEnde + 1, rng, "]")
Loop While intStart > 0 And intEnde > 0
End If
End If
Next
End Sub

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fetter Teiltext einer Zelle in Klammern setzen
21.07.2006 09:56:58
Matthias
Hallo Gregor,
ein Ansatz (Test für A1 des aktiven Tabelle):

Sub test()
Dim z As Range, i  As Long, war_fett As Boolean, ist_fett As Boolean
Dim ns As String
Set z = Range("A1")
war_fett = False
ns = ""
For i = 1 To Len(z)
ist_fett = z.Characters(i, 1).Font.Bold
If ist_fett Then
If Not war_fett Then ns = ns & "("
ns = ns & Mid(z, i, 1)
Else
If war_fett Then ns = ns & ")"
ns = ns & Mid(z, i, 1)
End If
war_fett = ist_fett
Next i
MsgBox ns
End Sub

Gruß Matthias
Anzeige
AW: Fetter Teiltext einer Zelle in Klammern setzen
21.07.2006 10:11:35
Matthias
Hallo Gregor,
oder besser so:

Sub test()
Dim z As Range, war_fett As Boolean, ist_fett As Boolean
Dim i As Integer
Dim l As Integer
Set z = Range("A1")
war_fett = False
l = Len(z)
i = 1
Do
ist_fett = z.Characters(i, 1).Font.Bold
If ist_fett Then
If Not war_fett Then _
ActiveCell.Characters(i, 0).Insert ("("): i = i + 1: l = l + 1
Else
If war_fett Then _
ActiveCell.Characters(i, 0).Insert (")"): i = i + 1: l = l + 1
End If
war_fett = ist_fett
i = i + 1
Loop Until i > l
End Sub

Gruß Matthias
Anzeige
AW: Fetter Teiltext einer Zelle in Klammern setzen
21.07.2006 10:25:08
Gregor
Hallo Matthias / Excel-Profis
Vielen Dank für deinen super Ansatz.
Folgende Punkte müsste man noch optimieren:
- Wenn die Fettschrift am Ende der Zelle steht, schreibt dein Code keine Schlussklammer
Beispiel: "Das war das Spiel" (Spiel fett) ergibt bei deinem Code:
"Das war das (Spiel" anstatt: "Das war das (Spiel)"
- wie bringe ich deinen Code dazu, eine ganze Spalte (z.B. A:A) zu durchlaufen?
Vielen Dank im voraus!
Grüsse Gregor
Anzeige
AW: Fetter Teiltext einer Zelle in Klammern setzen
21.07.2006 10:28:51
Erich
Hallo Gregor,
mit Matthias' Ansatz ginge das wohl so:
Option Explicit
Sub Fett_Klammern()
Dim rng As Range, Anzahl As Long
Dim ii As Long, warFett As Boolean, istFett As Boolean, strT As String
Anzahl = 4
For Each rng In Range("e1:E" & Anzahl)
warFett = False
strT = ""
For ii = 1 To Len(rng)
istFett = rng.Characters(ii, 1).Font.Bold
If istFett <> warFett Then
strT = strT & IIf(istFett, "[", "]")
warFett = istFett
End If
strT = strT & Mid(rng, ii, 1)
Next ii
If istFett Then strT = strT & "]"
rng = strT
rng.Font.Bold = False
Next rng
End Sub
(Wenn der Text zwischen den Klammern Fett sein soll, geht das ja mit deinem ersten Makro.)
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
Merci
21.07.2006 10:56:36
Gregor
Hallo Matthias, Erich und Sylvio
That's it! Vielen Dank für eure Bemühungen.
Ich verneige mich vor euch!
Gregor
;

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

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