none
Localizar valores em várias Sheets RRS feed

  • Pergunta

  • Pessoal, desde já agradeço a ajuda dos amigos.

    Estou precisando fazer uma macro que receba um numero, e este seja pesquisado em todas as planilhas da pasta de trabalho, e quando este numero for encontrado(sempre terá o respectivo numero em 2 sheets) a célula seja preenchida com uma determinada cor. O que não estou conseguindo fazer é que a pesquisa corra por todas as sheets.

    Segue abaixo o código VB:

    Sub Macro4()
    '
    ' Macro4 Macro
    '

    '
        Dim valor As Integer
        variavel1 = (InputBox("Digite o numero: "))
            Cells.Find(What:=variavel1, After:=ActiveCell, LookIn:=xlValues, LookAt _
            :=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
            False, SearchFormat:=False).Activate
        With Selection.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = 65535
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With
        Sheets("PLANILHA_01").Select   "aqui precisava de especificar todas as sheets, porém são mais de 50 e a cada dia são criadas novas"
        Cells.FindNext(After:=ActiveCell).Activate
        With Selection.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = 65535
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With
    End Sub

    quarta-feira, 31 de março de 2010 18:20

Respostas

  • Dim valor As Integer
        variavel1 = (InputBox("Digite o numero: "))
            Cells.Find(What:=variavel1, After:=ActiveCell, LookIn:=xlValues, LookAt _
            :=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _
            False, SearchFormat:=False).Activate
        With Selection.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = 65535
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With

        Dim cont as Byte
        For cont = 1 To Sheets.Count

        Sheets( cont ).Select
        Cells.FindNext(After:=ActiveCell).Activate
        With Selection.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = 65535
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With

        Next
    End Sub

    quarta-feira, 31 de março de 2010 20:08