
Por exemplo, existem 100 (linha) x 20 (coluna) células em uma planilha e cada célula possui 5 linhas. Algumas linhas estão em vermelho, outras estão marcadas com riscado, etc. Como posso pesquisar todas as linhas em vermelho? Como posso encontrar todas as linhas tachadas? Como posso pesquisar apenas por SearchFormat
?
Já tentei o Excel find with format
, mas não funciona para parte de uma célula. Se todas as 5 linhas estiverem em vermelho, ele poderá localizá-las; mas se apenas 2 linhas em vermelho e outras 3 linhas forem normais, ele não conseguirá encontrar as 2 linhas, mesmo quando match entire cell contents
fornãoverificado.
Responder1
Você precisará de uma VBA
solução para isso:
Aqui está um exemplo de macro para você começar, que pesquisa na planilha ativa (começando em uma célula à direita da célula ativa) por células contendo constantes de texto e, em seguida, pesquisa o texto na célula, um caractere por vez, para Vermelho. Ele para e seleciona a primeira célula que encontra que contém algum texto em vermelho
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