Excel-Makro: Durch das Festlegen des Zeichenbereichs auf Fett wird der Text verfälscht

Excel-Makro: Durch das Festlegen des Zeichenbereichs auf Fett wird der Text verfälscht

Ich möchte Folgendes tun: Ich habe ungefähr 1400 Zeilen voller Daten, von denen die letzte Spalte viel Text enthält. Hier ist ein Bild, das zeigt, was ich meine: Bild entfernt, da ich nur 2 Links gleichzeitig posten kann.

Um den Text leichter lesbar zu machen, möchte ich einige Wörter fett markieren.

Im Moment habe ich das folgende Makro:

Dim range As range
Set range = Application.Selection

Dim boldwords As Variant
boldwords = Array("Atemschutz:", "Körperschutz:", "Handschutz:", "Augenschutz:")


Dim cell As range
For Each cell In range
    For Each bword In boldwords
        foundword = InStr(1, cell.Text, bword, VbCompareMethod.vbTextCompare)
        If foundword <> 0 Then
            cell.Characters(foundword, Len(bworld)).Font.Bold = True
        End If
    Next
Next
  1. Durch alle ausgewählten Zellen blättern
  2. Durchlaufen Sie alle Wörter, die fett dargestellt werden sollen, und prüfen Sie, ob sie in der Zelle enthalten sind
  3. Wenn ja, markieren Sie sie als fett

Jetzt ist mein Problem, wenn ich es ausführe, wird mein Text entweder komplett fett oder verstümmeltSo was , oder jeder Buchstabe wird in eine separate Zeile gesetzt. Excel wird dann entweder langsamer, friert ein oder stürzt manchmal ab.

Was kann getan werden, um dies zu verhindern?

UPDATE: Nach der Korrektur des von Siphor genannten Variablennamens ist der Text nicht länger verstümmelt, wird aber manchmal immer noch in einzelne Zeilen aufgeteilt. Hier ist ein Bild, das zeigt, was ich meine:Klick mich

Antwort1

Ich denke, es ist ein Fehler in Ihrem Code.Len(bwelt)sollte seinLänge (bword). Sie sollten in den VBA-Optionen die Option „Variablendeklaration erforderlich (Option Explicit)“ aktivieren. Dies hilft beim Auffinden solcher Fehler.

verwandte Informationen