【问题标题】:counting the rows of highlighted specific text in a cell计算单元格中突出显示的特定文本的行数
【发布时间】:2015-10-29 22:44:50
【问题描述】:

How to highlight selected text within excel我遵循了 Jack BeNimble 的最后一个代码 除了这段代码之外,是否可以计算突出显示的行数?

【问题讨论】:

    标签: excel vba


    【解决方案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
    

    以上假设您每行只做一个突出显示,这似乎是这种情况......

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

    【讨论】:

    • 我正在寻找代码来突出显示连续多次出现的代码(Jack BeNimble 的最后一个代码),就像你说的那样,只计算一次。我实际上尝试了“代码”:使用 ActiveSheet。 UsedRange.AutoFilter Field:=colToSearch, Criteria1:=fontColor, Operator:=xlFilterFontColor lcount =.AutoFilter.Range.Rows.SpecialCells(xlCellTypeVisible).Count - 3 MsgBox "总行数 = " & lastRow - 3 & vbCrLf & fontColor & " Highligted number of rows = " & lcount ' 我给出了选择 colToSearch 和 fontColor(ColorIndex).which 的选项。
    • 这是否回答了您的问题。如果是这样,请接受它作为答案。
    猜你喜欢
    • 2015-12-31
    • 2020-03-29
    • 1970-01-01
    • 1970-01-01
    • 2017-10-29
    • 1970-01-01
    • 2011-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多