Excel 巨集:將字元範圍設定為粗體亂碼文字

Excel 巨集:將字元範圍設定為粗體亂碼文字

我想要做的是:我有大約 1400 行充滿數據,其中最後一列包含大量文字。這是一張圖片來說明我的意思:圖片已刪除,因為我一次只能發布 2 個連結。

現在,為了使該文本更易於閱讀,我想將其中的一些單字加粗。

現在我有以下巨集:

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. 循環遍歷所有選取的儲存格
  2. 循環遍歷所有應加粗的單字並檢查它們是否包含在單元格中
  3. 如果是,請加粗

現在我的問題是,一旦我運行它,我的文字要么完全加粗,要么變成亂碼像這樣 ,或將每個字母放在單獨的行上。此後 Excel 要么變慢、凍結,要么有時會崩潰。

可以採取什麼措施來防止這種情況發生?

更新:更正提到的變數名稱 Siphor 後,文字不再亂碼,但有時仍然會分成單獨的行,下面的圖像顯示了我的意思:點擊我

答案1

我認為這是你的程式碼中的一個錯誤,萊恩(bworld)應該Len(b字)。您應該在 Vba 選項中啟用所需的變數宣告(Option Explicit)。它有助於發現此類錯誤。

相關內容