Excel의 와일드카드 텍스트에서 SearchFormat으로 검색하려면 어떻게 해야 하나요?

Excel의 와일드카드 텍스트에서 SearchFormat으로 검색하려면 어떻게 해야 하나요?

예를 들어 시트에는 100(행) x 20(열)개의 셀이 있고 모든 셀에는 5개의 줄이 있습니다. 일부 줄은 빨간색이고 일부 줄은 취소선으로 표시되어 있습니다. 빨간색 줄을 모두 검색하려면 어떻게 해야 합니까? 취소선이 있는 모든 줄을 어떻게 찾을 수 있나요? 로만 검색하려면 어떻게 해야 하나요 SearchFormat?

Excel을 사용해 보았지만 find with format셀의 일부에서는 작동하지 않습니다. 5개 라인이 모두 빨간색이면 해당 라인을 찾을 수 있습니다. 하지만 빨간색 선 2개만 정상이고 나머지 3개 선이 정상인 match entire cell contents경우 에는 2개 선을 찾을 수 없습니다.~ 아니다확인했습니다.

답변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

관련 정보