2

探している単語が含まれているかどうかをExcelセルで検索し、太字にするコードを作成しようとしています。これまでに次のコードを書きました

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

問題は、「名前」がセル内で 2 回 (またはそれ以上) 出現する場合、最初の出現のみが強調表示されることです。

前もって感謝します

4

1 に答える 1

3

チェックするセルと検索する単語を取得し、その単語のすべてのケースを太字にする関数を次に示します。

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 を変更してください。

于 2012-08-28T19:41:23.853 に答える