Como selecionar todas as linhas onde uma célula de coluna tem um valor específico com Excel e VBA
No Excel - use a ferramenta Localizar...
Selecione o intervalo de células a serem pesquisadas
Exibir a caixa Procurar (Eu uso CTRL+F, você pode usar isto também ou você pode usar o comando Procurar & Selecionar na guia Home da fita)
Na caixa Procurar o quê, digite o valor a ser encontrado
Click Find All (Not find Next)
Quando todas as células correspondentes forem exibidas na lista, selecione-as todas usando CTRL+A
Após serem todas selecionadas, feche a caixa Find
Extenda as células atualmente selecionadas para a linha inteira, usando Shift+Spacebar
Or em VBA, use Application.Union, assim (para fazer um loop em todas as células do intervalo especificado (A2:A30) e adicionar células com um valor correspondente a um novo intervalo).
(Eu usei strAnimal como minha lista está cheia de animais, mas você deve mudar o nome da variável para algo que se adeque aos seus dados).
- Sub SelectMatchingRow()
- Dim strAnimal As String
- Dim rng As Range, c As Range, myRng As Range
- 'Set range with values to be searched for matches
- Set rng = ActiveSheet.Range("A2:A30")
- 'Fill string variable with string of text to be matched
- strAnimal = "Mouse"
- 'Loop through each cell in range
- For Each c In rng
- 'Check if cell value matches the string to be matched
- If c.Value = strAnimal Then
- 'Check if this is the first match (new range hasn't been filled yet)
- If myRng Is Nothing Then
- 'Fill new range with cell
- Set myRng = c
- Else
- 'Join new matching cell together with previously found matches
- Set myRng = Application.Union(myRng, c)
- End If
- End If
- Next c
- 'Select entire row of each cell in new range
- myRng.EntireRow.Select
- End Sub
Good Luck!