Método Range.FindNext (Excel)
Continua uma pesquisa iniciada com o método Find . Localiza a próxima célula que corresponde às mesmas condições e retorna um objeto Range que representa a célula. Isso não afeta a seleção ou a célula ativa.
Sintaxe
expressão. FindNext (Depois)
expressão Uma variável que representa um objeto de Intervalo.
Parâmetros
Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
---|---|---|---|
After | Opcional | Variant | A célula depois da qual você deseja pesquisar. Isso corresponde à posição da célula ativa quando uma pesquisa é feita desde a interface do usuário. Esteja ciente de que After deve ser uma única célula no intervalo. |
Lembre-se de que a pesquisa começa nessa célula; a célula especificada não será pesquisada até o método envolver novamente essa célula. Se você não especificar esse argumento, a pesquisa será iniciada após a célula no canto superior esquerdo do intervalo. |
Valor de retorno
Intervalo
Comentários
Quando a pesquisa atingir o final do intervalo de pesquisa especificado, voltará ao início do intervalo. Para parar uma pesquisa quando isso acontecer, salve o endereço da primeira célula encontrada e então teste cada endereço de célula sucessivo encontrado em relação a esse endereço salvo.
Exemplo
Este exemplo localiza todas as células no intervalo A1:A500 na planilha um que contém o valor 2 e altera todo o valor da célula para 5. Ou seja, os valores 1234 e 99299 contêm 2 e os valores das duas células se tornarão 5.
Sub FindValue()
Dim c As Range
Dim firstAddress As String
With Worksheets(1).Range("A1:A500")
Set c = .Find(2, lookin:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Value = 5
Set c = .FindNext(c)
Loop While Not c Is Nothing
End If
End With
End Sub
Este exemplo localiza todas as células nas quatro primeiras colunas que contêm um X constante e oculta a coluna que contém o X.
Sub Hide_Columns()
'Excel objects.
Dim m_wbBook As Workbook
Dim m_wsSheet As Worksheet
Dim m_rnCheck As Range
Dim m_rnFind As Range
Dim m_stAddress As String
'Initialize the Excel objects.
Set m_wbBook = ThisWorkbook
Set m_wsSheet = m_wbBook.Worksheets("Sheet1")
'Search the four columns for any constants.
Set m_rnCheck = m_wsSheet.Range("A1:D1").SpecialCells(xlCellTypeConstants)
'Retrieve all columns that contain an X. If there is at least one, begin the DO/WHILE loop.
With m_rnCheck
Set m_rnFind = .Find(What:="X")
If Not m_rnFind Is Nothing Then
m_stAddress = m_rnFind.Address
'Hide the column, and then find the next X.
Do
m_rnFind.EntireColumn.Hidden = True
Set m_rnFind = .FindNext(m_rnFind)
Loop While Not m_rnFind Is Nothing And m_rnFind.Address <> m_stAddress
End If
End With
End Sub
Este exemplo localiza todas as células nas quatro primeiras colunas que contêm um X constante e desativa a coluna que contém o X.
Sub Unhide_Columns()
'Excel objects.
Dim m_wbBook As Workbook
Dim m_wsSheet As Worksheet
Dim m_rnCheck As Range
Dim m_rnFind As Range
Dim m_stAddress As String
'Initialize the Excel objects.
Set m_wbBook = ThisWorkbook
Set m_wsSheet = m_wbBook.Worksheets("Sheet1")
'Search the four columns for any constants.
Set m_rnCheck = m_wsSheet.Range("A1:D1").SpecialCells(xlCellTypeConstants)
'Retrieve all columns that contain X. If there is at least one, begin the DO/WHILE loop.
With m_rnCheck
Set m_rnFind = .Find(What:="X", LookIn:=xlFormulas)
If Not m_rnFind Is Nothing Then
m_stAddress = m_rnFind.Address
'Unhide the column, and then find the next X.
Do
m_rnFind.EntireColumn.Hidden = False
Set m_rnFind = .FindNext(m_rnFind)
Loop While Not m_rnFind Is Nothing And m_rnFind.Address <> m_stAddress
End If
End With
End Sub
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.