none
Percorrer Matriz ou Celulas de um determinado intervalo RRS feed

  • Pergunta

  • Bom dia!! Boa Tarde!! Boa Noite!!

    Bom pessoal, estou necessitando de uma ajuda para o desenvolvimento de uma Sub em vba.

    Estou necessitando de percorrer um conjunto de células e encontrar determinados caracteres ( o formato que busco e esse " A ", onde A e uma letra do alfabeto), caso exista esses caracteres trocar a cor de fundo da celula.

    O que fiz ate agora ate deu certo mas para somente o 1º elemento da sequencia.

    Sub procurarnomeabreviado()
    criterio = InputBox("Please enter your search criteria")
    For x = 0 To 10
        Cells.Find criterio, _
        ActiveCell, xlFormulas, xlPart, _
        xlByRows, xlNext, , _
        False
        x1 = ActiveCell.Value
        'If x1 = x2 Then
       ' x = 1
       ' Else
       ' x1 = x2
        ActiveCell.Interior.Color = rgbYellow
        'End If
    'Wend
    Next x
    End Sub

    Vocês poderiam me dar uma mão?

    quarta-feira, 22 de junho de 2016 15:32

Respostas

  • Tente:

    Sub procurarnomeabreviado()
    
    Dim criterio As String
    Dim rRange As Excel.Range
    Dim cell As Excel.Range
    
    criterio = InputBox("Please enter your search criteria")
    
    Set rRange = Selection 'Ou especifique o intervalo desejado (Ex: RANGE("A1:A10"))
    
    For Each cell In rRange
    
    If VBA.InStr(1, cell.Value, criterio, vbTextCompare) > 0 Then
        cell.Interior.Color = rgbYellow
        Else
        cell.Interior.Pattern = xlNone
    End If
    
    Next cell
    
    End Sub


    Rafael Kamimura - http://excelmaniacos.com

    • Marcado como Resposta Pedro Longaresi quarta-feira, 22 de junho de 2016 16:21
    quarta-feira, 22 de junho de 2016 16:12

Todas as Respostas

  • Tente:

    Sub procurarnomeabreviado()
    
    Dim criterio As String
    Dim rRange As Excel.Range
    Dim cell As Excel.Range
    
    criterio = InputBox("Please enter your search criteria")
    
    Set rRange = Selection 'Ou especifique o intervalo desejado (Ex: RANGE("A1:A10"))
    
    For Each cell In rRange
    
    If VBA.InStr(1, cell.Value, criterio, vbTextCompare) > 0 Then
        cell.Interior.Color = rgbYellow
        Else
        cell.Interior.Pattern = xlNone
    End If
    
    Next cell
    
    End Sub


    Rafael Kamimura - http://excelmaniacos.com

    • Marcado como Resposta Pedro Longaresi quarta-feira, 22 de junho de 2016 16:21
    quarta-feira, 22 de junho de 2016 16:12
  • Muito Obrigado!!
    quarta-feira, 22 de junho de 2016 16:21