我正在尝试编写一些代码,如果它包含我要查找的单词并将其加粗,它将在excel单元格中查找。到目前为止,我已经编写了以下代码

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


问题是,如果“名称”在一个单元格中出现两次(或多次),它将仅突出显示其首次出现。

先感谢您

最佳答案

这是一个函数,需要使用单元格进行检查,并使用单词来搜索并加粗该单词的所有大小写:

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。

10-04 23:25