locked
Comparando valores RRS feed

  • Pergunta

  • Ola pessoal.
    Depois de muito tentar e procurar, resolvi pedir ajuda.
    Seguinte:
    Tenho um valor X em "B2" e diversos outros valores na coluna C.
    Gostaria de saber como faço para, ao clicar um botão, todas as celulas da coluna C que tenham valor igual a "B2" sejam selecionadas.
    Há como ? Abraços.
    domingo, 7 de janeiro de 2007 01:16

Todas as Respostas

  • Bom dia,

    A macro abaixo, creio, faz o que você precisa:

    Public Sub Selecione()
      Dim rngCombinando As Range
      Dim rngCelula As Range
      Dim rngPrimeiraCelula As Range, _
          rngUltimaCelula As Range
      Set rngPrimeiraCelula = Range("$C$1")
      Set rngUltimaCelula = rngPrimeiraCelula.End(xlDown)
      For Each rngCelula In Range(rngPrimeiraCelula, rngUltimaCelula)
        If (rngCelula.Value = Range("$B$2").Value) Then
          If (rngCombinando Is Nothing) Then
            Set rngCombinando = rngCelula
          Else
            Set rngCombinando = Application.Union(rngCombinando, rngCelula)
          End If
        End If
      Next rngCelula
      If (Not (rngCombinando Is Nothing)) Then rngCombinando.Select
    End Sub

    Para associar essa macro ao evento click de um botão, basta copiá-la para um módulo padrão do VBA e, depois, invocá-la a partir do manipulador do evento Click de seu botão, como em:

    Private Sub CommandButton1_Click()
      Selecione
    End Sub

    Observações importantes:

    1. A macro foi projetada para manipular os dados na planilha atual.
    2. Por questões de performance, a macro não varre toda a coluna C, mas sim o conjunto de células que vai de $C$1 até a célula que antecede a primeira célula em branco abaixo. Assim, caso você tenha valores nos intervalos $C$1:$C$15 e $C$20:$C$25, essa macro verrerá o intervalo $C$1:$C$15, parando ao encontrar a célula vazia em $C$16.

    Atenciosamente,

    domingo, 7 de janeiro de 2007 11:40