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

Wörter in Zelle fett markieren

Forumthread: Wörter in Zelle fett markieren

Wörter in Zelle fett markieren
09.01.2023 10:44:07
Heiko
Hallo!
Ich möchte die ersten beiden Wörter einer Zelle per VBA fett markieren. Das soll aber über einen bestimmten Bereich, zB F5:F50 ausgeführt werden. Ich habe es mit mit dem Beispiel aus https://www.herber.de/forum/archiv/856to860/857750_Erstes_Wort_aus_Zelle_fett_formatieren.html probiert, komme damit aber nicht weiter. Hat da jemand noch eine Idee?
Beste Grüße!
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wörter in Zelle fett markieren
09.01.2023 10:58:11
Rudi
Hallo,

Sub erste2fett()
Dim tmp, r As Range, l As Integer
Application.ScreenUpdating = False
For Each r In Range("F5:F50")
tmp = Split(r)
If UBound(tmp) > 0 Then
l = Len(tmp(0)) + Len(tmp(1)) + 1
r.Characters(1, l).Font.Bold = True
End If
Next r
End Sub
Gruß
Rudi
Anzeige
AW: Wörter in Zelle fett markieren
09.01.2023 11:16:33
MCO
Auch eine Möglichkeit

Sub Wörter_verfetten()
Anzahl_Wörter = 2
For Each cl In Range("F5:F50").SpecialCells(xlConstants)
zchn = 1
Do
cl.Characters(1, zchn).Font.Bold = True
zchn = zchn + 1
Loop Until Len(Left(cl, zchn)) = Len(Replace(Left(cl, zchn), " ", "")) + Anzahl_Wörter
Next cl
End Sub
Gruß, MCO
Anzeige
AW: Wörter in Zelle fett markieren
09.01.2023 12:39:36
Heiko
Hallo MCO!
Der Code druckt tatsächlich die ersten beiden Worte fett, leider jedoch nur bis Zeile 10. Dann stürzt Excel ab... Woran könnte das liegen? Vielen Dank schon einmal für deine Hilfe, so weit bin ich in den letzten Stunden nicht ansatzweise gekommen....
Endlosschleife
09.01.2023 12:47:02
Rudi
Hallo,
passiert, wenn die Zelle weniger als 3 Wörter enthält.
Gruß
Rudi
Anzeige
Korrektur
09.01.2023 13:01:01
Rudi
der erste hat einzelne Wörter nicht gefettet.

Sub erste2fett()
Dim tmp, r As Range, l As Integer
Application.ScreenUpdating = False
For Each r In Range("F5:F50")
l = 0
If Len(r) Then
tmp = Split(r)
Select Case UBound(tmp)
Case 0:     l = Len(r)
Case Else:  l = Len(tmp(0)) + Len(tmp(1)) + 1
End Select
r.Characters(1, l).Font.Bold = True
End If
Next r
End Sub
Gruß
Rudi
Anzeige
AW: Korrektur
09.01.2023 13:23:26
Heiko
Hallo Rudi!
Das hat perfekt geklappt, vielen Dank dafür!
AW: Korrektur
09.01.2023 14:19:44
Heiko
Wenn ich das noch einmal ausführe, werden auch die nächsten Worte fett gemacht. Hast du da noch eine Idee?
bei mir nicht. owT
09.01.2023 14:38:27
Rudi
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Wörter in Zelle fett markieren


Schritt-für-Schritt-Anleitung

Um die ersten beiden Wörter in einer Excel-Zelle im Bereich F5:F50 fett zu markieren, kannst Du den folgenden VBA-Code verwenden:

  1. Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  3. Kopiere den folgenden Code in das Modul:
Sub erste2fett()
    Dim tmp, r As Range, l As Integer
    Application.ScreenUpdating = False
    For Each r In Range("F5:F50")
        If Len(r) Then
            tmp = Split(r)
            Select Case UBound(tmp)
                Case 0: l = Len(r)
                Case Else: l = Len(tmp(0)) + Len(tmp(1)) + 1
            End Select
            r.Characters(1, l).Font.Bold = True
        End If
    Next r
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Drücke ALT + F8, wähle erste2fett aus der Liste und klicke auf Ausführen.

Jetzt werden die ersten beiden Wörter in den Zellen von F5 bis F50 fett formatiert!


Häufige Fehler und Lösungen

  • Excel stürzt ab: Wenn Excel bei der Ausführung des Codes abstürzt, könnte das an einer Endlosschleife liegen. Achte darauf, dass die Zellen im Bereich F5:F50 auch tatsächlich Text enthalten und nicht leer sind.

  • Wörter werden nicht gefettet: Wenn der Code nicht wie erwartet funktioniert, überprüfe, ob die Zellen den richtigen Inhalt haben. Der Code funktioniert nur korrekt, wenn die Zellen mindestens zwei Wörter enthalten.


Alternative Methoden

Eine alternative Methode zur Formatierung von Text in Excel ist die Verwendung von Formeln und bedingter Formatierung. Allerdings ist dies für die spezifische Anforderung, nur die ersten zwei Wörter fett zu markieren, weniger geeignet als VBA.

Ein weiterer VBA-Ansatz könnte so aussehen:

Sub Wörter_verfetten()
    Dim Anzahl_Wörter As Integer
    Anzahl_Wörter = 2
    For Each cl In Range("F5:F50").SpecialCells(xlConstants)
        zchn = 1
        Do
            cl.Characters(1, zchn).Font.Bold = True
            zchn = zchn + 1
        Loop Until Len(Left(cl, zchn)) = Len(Replace(Left(cl, zchn), " ", "")) + Anzahl_Wörter
    Next cl
End Sub

Dieser Code funktioniert ebenfalls, aber wie Heiko festgestellt hat, kann es zu Problemen kommen, wenn die Zelle weniger als drei Wörter enthält.


Praktische Beispiele

  1. Beispiel 1: Du hast in Zelle F5 den Text „Excel ist eine mächtige Software“. Nach Ausführung des Codes wird „Excel ist“ fett dargestellt.

  2. Beispiel 2: In Zelle F6 steht „VBA ermöglicht Automatisierung“. Nach der Ausführung sind „VBA ermöglicht“ fett.


Tipps für Profis

  • Teste den Code immer in einer Kopie Deiner Arbeitsmappe, um Datenverluste zu vermeiden.
  • Verwende Application.ScreenUpdating = False, um die Ausführungsgeschwindigkeit zu erhöhen und Bildschirmflackern zu vermeiden.
  • Überlege, wie Du den Code anpassen kannst, um mehr Wörter oder andere Formate (z.B. kursiv) hinzuzufügen.

FAQ: Häufige Fragen

1. Kann ich die Anzahl der fett zu markierenden Wörter ändern?
Ja, Du kannst die Variable Anzahl_Wörter im alternativen Beispiel anpassen, um mehr oder weniger Wörter fett zu machen.

2. Funktioniert dieser Code in Excel 365?
Ja, der Code ist mit Excel 365 sowie anderen gängigen Versionen von Excel kompatibel.

3. Was passiert, wenn die Zelle Leerzeichen enthält?
Wenn eine Zelle nur Leerzeichen enthält, wird der Code keine Wörter fett markieren, da der Inhalt nicht als Text erkannt wird.

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