如何在 Excel 中的通配符文本中按 SearchFormat 进行搜索?

如何在 Excel 中的通配符文本中按 SearchFormat 进行搜索?

例如,工作表中有 100(行)x 20(列)个单元格,每个单元格有 5 条线。有些线是红色的,有些线标有删除线,等等。如何搜索所有红色的线?如何找到所有带删除线的线?如何仅通过 进行搜索SearchFormat

我试过 Excel find with format,但它对单元格的一部分不起作用。如果所有 5 条线都是红色的,它可以找到它们;但如果只有 2 条线是红色的,其他 3 条线是正常的,它就找不到这 2 条线,match entire cell contents即使不是检查。

答案1

您需要一个VBA解决方案来解决这个问题:

以下是一个示例宏,供您入门,该宏在活动工作表中(从活动单元格右侧的一个单元格开始)搜索包含文本常量的单元格,然后在单元格中的文本中一次搜索一个字符以查找红色。它会停止并选择它找到的第一个包含一些红色文本的单元格

Sub FindColorInCells()
    Dim n As Long
    Dim i As Long, j As Long
    Dim cl As Range
    Dim r As Range

    Set r = ActiveSheet.UsedRange
    i = ActiveCell.Row - r.Row + 1
    If i > r.Rows.Count Or i < 0 Then i = 1
    j = ActiveCell.Column - r.Column + 1
    If j > r.Columns.Count Or j < 0 Then j = 1
    i = (r.Columns.Count * (i - 1) + j) Mod r.Cells.Count + 1
    j = r.Cells.Count
    Do While i <> j
        With r(i)
            If Not .HasFormula Then
                If Len(.Value) > 0 Then
                    If TypeName(.Value) = "String" Then
                        For n = 1 To .Characters.Count
                            If .Characters(n, 1).Font.ColorIndex = 3 Then
                                ' found red
                                .Select
                                Exit Sub
                            End If
                        Next
                    End If
                End If
            End If
        End With
        i = i Mod j + 1
    Loop
End Sub

相关内容