Fórum Excel Bácico, Avançado e Vba

Este fórum é destina a usuário de Excel, que queiram compartilhar informações a básicas, avançadas e programação em VBA...
 
InícioInício  FAQFAQ  BuscarBuscar  MembrosMembros  GruposGrupos  Registrar-seRegistrar-se  Login  

Compartilhe | 
 

 Retornar o resultado de uma busca abaixo da activecell

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
RDIVISION



Mensagens : 1
Data de inscrição : 09/05/2014

MensagemAssunto: Retornar o resultado de uma busca abaixo da activecell    Sab Maio 10, 2014 1:13 am

Após varias buscar pela web entre foros e previas  dos books google, venho incomodar.
Tento adaptar um código  em que realiza um  basca em  plan1 de  uma  activecell da plan2, e que o resultado da busca retorne abaixo da  activecell da plan2, so estou obtendo sucesso quando especifico a Range("B" & Contador), espero ter sido claro, segue o código abaixo:


Sub teste3()
Dim PrimeiraOcorrencia As String
   Dim mVetor As Variant
   Dim Intervalo As Range
   Dim Contador As Long
   Dim I As Long
   Dim NovaPlanilha As Worksheet
   With Application
       .ScreenUpdating = False
       .EnableEvents = False
   End With
   'Define o critério de buca em um array
    mVetor = Array(ActiveCell)
   'transporta para a variavel mvetor o valor da celula ativa
   Set NovaPlanilha = Sheets("Plan2")
   With Sheets("Plan1").Range("A1:C110000")
       Contador = 0
       For I = LBound(mVetor) To UBound(mVetor)

           Set Intervalo = .Find(What:=mVetor(I), _
                                 After:=.Cells(.Cells.Count), _
                                 LookIn:=xlFormulas, _
                                 LookAt:=xlPart, _
                                 SearchOrder:=xlByRows, _
                                 SearchDirection:=xlNext, _
                                 MatchCase:=False)
           If Not Intervalo Is Nothing Then
               PrimeiraOcorrencia = Intervalo.Address
               Do
                   Contador = Contador + 1
                    Intervalo.Offset(0, 2).Copy NovaPlanilha.Range("a" & Contador)
                    Intervalo.Offset(0, 3).Copy NovaPlanilha.Range("B" & Contador)
                                         'até aqui tudo bem, mas se eu quiser o resultado abaixo da activecell;  ou melhor ainda seria, uma offset da célula ativa. Ai não consigo.
                    'linha abaixo da erro
:

                   Intervalo.Offset(0, 2).Copy NovaPlanilha.Range(ActiveCell & Contador)
                   Set Intervalo = .FindNext(Intervalo)
               Loop While Not Intervalo Is Nothing And Intervalo.Address <> PrimeiraOcorrencia
           End If
       Next I
   End With
   With Application
       .ScreenUpdating = True
      .EnableEvents = True
   End With
End Sub

Desde já agradeço, bem como também a dica de um bom livro de vba excel  pra alguém que não saca de inglês.


Última edição por RDIVISION em Qua Maio 14, 2014 10:49 pm, editado 1 vez(es) (Razão : o tópico ja foi resolvido no tomasvasquez)
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: Re: Retornar o resultado de uma busca abaixo da activecell    Qua Maio 14, 2014 7:45 pm

Boa tarde!!

Já tentou usar o metodo
Código:
.Address
?
exemplo
Código:
ActiveCell.Address

Leia:
http://www.cpearson.com/excel/FindAll.aspx
http://www.rondebruin.nl/win/s9/win006.htm

Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
 
Retornar o resultado de uma busca abaixo da activecell
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» A moto vai abaixo
» Retirar caixa de busca
» Desativar busca do fórum
» Imagem de fundo na caixa de busca
» Remover campo de busca

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Fórum Excel Bácico, Avançado e Vba :: Avançado/VBA :: Excel Avançado/VBA-
Ir para: