如何在Excel VBA中的单元格中查找单词,并使用VBA代码将其涂成红色(仅单词而非整个单元格)?

如何在Excel VBA中的单元格中查找单词,并使用VBA代码将其涂成红色(仅单词而非整个单元格)?,vba,excel,Vba,Excel,我正在用Excel编写代码,其中一部分需要在单元格中找到一个单词(不区分大小写)并将其涂成红色(仅单词而非整个单元格)。 比如, 单元格文本-你叫什么名字? 搜索文本-是 我需要将单元格文本中的“is”涂成红色。Theodora, 以下是您所追求的内容的基本组成部分。当然,您需要修改它以满足您的特定需要: Sub ColorPart() searchString = " is " pos = InStr(Cells(1, 1), searchString) If pos

我正在用Excel编写代码,其中一部分需要在单元格中找到一个单词(不区分大小写)并将其涂成红色(仅单词而非整个单元格)。
比如,

单元格文本-你叫什么名字? 搜索文本-是

我需要将单元格文本中的“is”涂成红色。

Theodora, 以下是您所追求的内容的基本组成部分。当然,您需要修改它以满足您的特定需要:

Sub ColorPart()
    searchString = " is "
    pos = InStr(Cells(1, 1), searchString)
    If pos > 0 Then
        Cells(1, 1).Characters(Start:=pos, Length:=Len(searchString)).Font.color = vbRed
    End If
End Sub

希望这有帮助。此外,公平地说,@Peh,虽然我的回答不是基于他的评论,但它基本上巩固了他已经正确布局的内容。

从使用
Find
开始,使用
xlPart
找到带有Stringand着色的单元格。
ActiveCell.Characters可以为单元格的一部分着色(开始:=5,长度:=2)。Font.Color=vbRed
Start可以通过
InStr(1,ActiveCell.Value,“is”,vbTextCompare)
len(“is”)
确定。注:只有当单元格不是公式时,才可以对单元格的一部分进行着色。