Escola Saberexcel VBA Estudos - Treinamento com Macros, Fórmulas e Funções
Esse macro do Aplicativo Microsoft Excel VBA(visual Basic Application), com a Instrução [Do... Loop ... Until], faz uma verificação em determinada área de células (Intervalo de células), busca por determinada Palavra 'Exata', e retorna o endereço da célula onde esta localizada, auxiliada por um objeto InptBox.
Este Arquivo faz parte de Nosso Modulo 2012 - (Boletim_01_Treinamento Instruções_Loops VBA)
Assine já tenha acesso aos Boletins 2012,
ASSINE JÁ: Treinamento Excel VBA - Modulos_2012 e Boletins Treinamentos Microsoft Excel VBA
(já foi classificado como trabalho nota 10 pelos usuários/desenvolvedores)
dificilmente encontrará na internet um trabalho completo como este, tratando de todas as instruções Loops.
INSTRUÇÃO DO...LO OP...UNTIL
Essa instrução loop verifica a palavra digitada para busca em determinado intervalo de células
o macro retorna o endereço e o valor da célula onde foi encontrada.
observe que o macro insere sua busca em duas colunas (N e O) com finalidade também didática.
retornando os valores para a folha de planilha
Sub Loop_do_loop_until_localizar_palavras_area()
Dim PrimeiraCelula As String, vCelulas As Range 'Declaração de variáveis
vbusca = InputBox("Digite a palavra para busca", "Escola SaberExcel VBA Estudos®") 'Caixa de diálogo - entrada de dados
Range("C6:F10").Select 'Intervalo de células para realização da busca
Set vCelulas = Selection.Find(vbusca) 'Faça a busca da palavra dentro da seleção
If Not vCelulas Is Nothing Then 'faça se as células não estiverem vazias
PrimeiraCelula = vCelulas.Address 'Variável
Do 'faça o seguinte
'caso a inputbox estiver em branco.
If vbusca = "" Then
MsgBox ("Digite uma palavra para busca"), vbInformation, "Saberexcel - o site das macros"
Exit Sub
End If
MsgBox "A palavra [ " & vbusca & " ] está na célula [ " & vCelulas.Address & " ] " & _
"Palavra: [ " & vCelulas.Value & " ]", vbInformation, "Escola Saberexcel VBA Estudos®"
[N65000].End(xlUp).Offset(1, 0).Value = vCelulas.Value
[N65000].End(xlUp).Offset(0, 1).Value = vCelulas.Address
Set vCelulas = Selection.FindNext(vCelulas) 'faça a busca na região especificada
Loop Until vCelulas.Address = PrimeiraCelula 'faça o loop até que o endereço da célula seja igual à primeira célula
End If
End Sub
Sub visualizar_macro()
Dim Resposta As String
Resposta = MsgBox("deseja visualizar(tela ou vbe)?" & vbCrLf & " se SIM = Tela" & vbCrLf & " se NAO = VBE", _
vbYesNo, "Escola Saberexcel VBA Estudos®")
If Resposta = 6 Then
ActiveSheet.Shapes.Range(Array("macro")).Select
Selection.Verb Verb:=xlPrimary
Else
Application.Goto reference:="Loop_do_loop_until_localizar_palavras_area"
End If
End Sub
Assine já nosso Excel VBA - Modulos_2012 e Boletins Treinamentos Microsoft Excel VBA
Baixe o exemplo do Nosso Boletin_01 - Treinamento com Instruções Loops (141 Planilhas)
Loop do loop until busca palavra determinada area (99.79 KB)