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

Forumthread: Textteil in Klammern mit VBA fett formatieren

Textteil in Klammern mit VBA fett formatieren
02.02.2006 09:54:30
Gregor
Hallo Excel-Freunde
Folgendes Problem in Spalte B, Zeilen 1-100: Ich möchte mit VBA einen Teilbereich eines Textes fett markieren. Konkret soll ein nicht konstanter Text innerhalb Klammern fett formatiert werden. Der Text in Klammern ist in jeder Zelle also anders. In einer Zelle können mehrere Klammerinhalte vorkommen (d.h. fett in Klammern, normal danach, fett in Klammern, normal danach etc.)
Ein Beispiel:
asdjklfasjdka(xxxxx)safjklasjlf(yyyyyy)kjjafskd. Ziel: xxxxx und yyyyyyy müssen fett formatiert sein.
Habe Stunden verbracht mit Strings, allerdings zu keiner befriedigenden Lösung gekommen.
Weiss jemand Rat?
Besten Dank für deinen Imput!
Grüsse
Gregor
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textteil in Klammern mit VBA fett formatieren
02.02.2006 10:13:09
Josef
Hallo Gregor!
Sub InKlammerFett()
Dim intStart As Integer, intEnde As Integer
Dim rng As Range

For Each rng In Range("B1:B100")
  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


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Textteil in Klammern mit VBA fett formatieren
02.02.2006 10:20:30
Gregor
Merci Josef für die prombte Lösung.
Hast mir sehr geholfen.
Grüsse
Gregor
;
Anzeige
Anzeige

Infobox / Tutorial

Textteile in Klammern mit VBA fett formatieren


Schritt-für-Schritt-Anleitung

Um Textteile in Klammern in Excel mit VBA fett zu formatieren, kannst du den folgenden Code verwenden. Dieser Code sucht nach Text in Klammern und formatiert ihn entsprechend:

Sub InKlammerFett()
    Dim intStart As Integer, intEnde As Integer
    Dim rng As Range

    For Each rng In Range("B1:B100")
        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

Dieser Code sollte in einem Modul in deinem Excel VBA-Editor eingefügt werden. Er durchläuft die Zellen in Spalte B von Zeile 1 bis 100 und formatiert alle Texte, die in Klammern stehen, als fett.


Häufige Fehler und Lösungen

  1. Der Code funktioniert nicht.

    • Stelle sicher, dass du den Code im richtigen Modul eingefügt hast und dass die Zellen im angegebenen Bereich (B1:B100) Text enthalten.
  2. Nur das erste Klammerpaar wird formatiert.

    • Überprüfe, ob das Loop korrekt implementiert ist. Der Code ist so aufgebaut, dass er alle Klammerinhalte in einer Zelle durchläuft.
  3. Keine Klammern gefunden.

    • Vergewissere dich, dass die Zellen tatsächlich Klammern enthalten und dass diese nicht leer sind.

Alternative Methoden

Wenn du nicht mit VBA arbeiten möchtest, kannst du auch die Funktion "Suchen und Ersetzen" in Excel verwenden, um Textteile zu formatieren. Dies ist allerdings weniger flexibel und funktioniert nur, wenn du genau weißt, was du suchst. VBA ist hier die effektivere Methode, um flexibel mit Text in Klammern umzugehen.


Praktische Beispiele

  1. Beispiel 1:

    • Zelle B1 enthält: Das ist ein (Test) Text.
    • Nach Ausführung des Codes wird Test fett formatiert.
  2. Beispiel 2:

    • Zelle B2 enthält: Hier ist (Beispiel 1) und (Beispiel 2).
    • Nach Ausführung des Codes werden Beispiel 1 und Beispiel 2 fett formatiert.

Tipps für Profis

  • VBA Schrift fett anpassen: Du kannst die Schriftgröße oder -farbe zusätzlich anpassen, indem du die Eigenschaften Font.Size oder Font.Color im Code änderst.
  • Effizienz steigern: Wenn du große Datenmengen hast, erwäge, den Bereich dynamisch zu gestalten, um die Laufzeit zu optimieren.
  • Fehlermeldungen vermeiden: Nutze Error-Handling in deinem VBA-Code, um mögliche Laufzeitfehler abzufangen.

FAQ: Häufige Fragen

1. Wie kann ich den Code anpassen, um auch andere Textteile zu formatieren? Du kannst die rng.Characters-Methode anpassen, um unterschiedliche Teile des Textes zu formatieren. Ändere einfach die Start- und Endpositionen im Code.

2. Funktioniert dieser Code in Excel 365? Ja, der Code ist mit Excel 365 kompatibel und sollte ohne Probleme funktionieren.

3. Kann ich den Code für andere Spalten verwenden? Ja, ändere einfach den Bereich in Range("B1:B100") auf die gewünschte Spalte.

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