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:
- A macro foi projetada para manipular os dados na planilha atual.
- 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,