2012-08-28 97 views
2

我正在嘗試編寫一些代碼,該代碼將在Excel單元格中查找,如果它包含我正在查找的單詞並使其變爲粗體。我寫了下面的代碼到目前爲止在單元格中更改爲粗體重複文本

With Worksheets("Label Print").Cells(i, J) 
.Characters(Start:=InStr(.Value, 「Name」), Length:=Len(「Name」)).Font.Bold = True 
End With 

的問題是,如果「名」(或更多)在細胞中出現兩次,將突出其僅第一次出現。

預先感謝您

回答

4

這裏是一個函數,它的細胞檢查和這個詞來搜索並加粗該單詞的所有情況:

Public Sub BoldWord(rngCell As Range, sWord As String) 

    Dim iPlace As Integer 

    iPlace = InStr(1, rngCell.Value, sWord, vbTextCompare) 
    Do While iPlace > 0 
    rngCell.Characters(Start:=iPlace, Length:=Len(sWord)).Font.Bold = True 
    iPlace = InStr(iPlace + 1, rngCell.Value, sWord, vbTextCompare) 
    Loop 

End Sub 

注1:rngCell必須是單細胞。

注2:搜索不區分大小寫......如有必要請更改vbTextCompare。

+0

工作就像一個魅力!輝煌 – user1631231

相關問題