我想要做的是:我有大約 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
- 循環遍歷所有選取的儲存格
- 循環遍歷所有應加粗的單字並檢查它們是否包含在單元格中
- 如果是,請加粗
現在我的問題是,一旦我運行它,我的文字要么完全加粗,要么變成亂碼像這樣 ,或將每個字母放在單獨的行上。此後 Excel 要么變慢、凍結,要么有時會崩潰。
可以採取什麼措施來防止這種情況發生?
更新:更正提到的變數名稱 Siphor 後,文字不再亂碼,但有時仍然會分成單獨的行,下面的圖像顯示了我的意思:點擊我
答案1
我認為這是你的程式碼中的一個錯誤,萊恩(bworld)應該Len(b字)。您應該在 Vba 選項中啟用所需的變數宣告(Option Explicit)。它有助於發現此類錯誤。