计算单元格中突出显示的特定文本的行数

时间:2015-08-06 16:58:22

标签: excel-vba vba excel

How to highlight selected text within excel我按照Jack BeNimble的最后一个代码 是否可以计算除此代码之外突出显示的行数?

1 个答案:

答案 0 :(得分:1)

使用链接中的代码:

Sub Colors()


Dim searchString As String
Dim targetString As String
Dim startPos As Integer
Dim rowcount as long
rowcount = 0
searchString = "abc"
targetString = Cells(2, 1).Value
startPos = InStr(targetString, searchString)

If startPos > 0 Then

    Cells(2, 1).Characters(startPos, Len(searchString)).Font.Color = vbRed
    rowcount = rowcount+1
End If

msgbox "The text was highlighted in " & rowcount & " row(s)!", vbokonly,"Row Count"
End Sub

以上假设您每行只进行一次突出显示...

或者,如果您不希望对同一行计数两次,则可以构建一个行号数组,并检查以确保突出显示的行号不在先前突出显示的行列表中。这将需要额外的循环并且会降低性能,尤其是在较大的文件上。