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 | 
 

 Busca de dados com 2 verificações

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
santa.ars



Mensagens : 136
Data de inscrição : 07/09/2011

MensagemAssunto: Busca de dados com 2 verificações   Dom Nov 04, 2012 3:19 pm

Preciso buscar dados em uma planilha para outra planilha. Só que tem que ser verificado 2 chaves (de busca). Meu objetivo é fazer uma programação e atividade para cada cliente, a programação que é semanal deve ser gerada sempre a um sábado anterior. Coloquei / preenchi a mesma com exemplos e a programação que foi gerada, chamei os clientes de letras.
O arquivo está postado a seguir. O mesmo tem uma planilha chamada AGENDA e outra chamada PROGRAMAÇÃO.
Na planilha Agenda tem a coluna da chave principal, no caso são CASA, RAPOSA e FAMÌLIA. Repare que a especificação do dia ressalta exatamente o dia da semana que será a outra chave, ou campo de verificação para alocação do nome do cliente na programação.
Quando for digitado na planilha de PROGRAMAÇÃO a palavra CASA ou RAPOSA ou FAMÍLIA, deve ser verificado o dia lançado na planilha Agenda e assim ser colocado cada cliente de acordo com o dia da semana digitado.
Acredito que deve ser feito com Macro. Peço por favor para que me ajudem.

4shared.com/file/RfryrDaR/Busca_Dados_com_2_chaves.html?
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: Busca de dados com 2 verificações   Qui Nov 15, 2012 4:02 pm

Bom dia!!!
Tente assim....
Não testado!!

Código:
Private Sub Worksheet_Change(ByVal Target As Range)

    Dim rng As Range
    Dim c  As Range, x, y
   
    If Target.Address(0, 0) = "C1" Then
        y = Range("a2:j2").Value2
        With Worksheets("AGENDA")
            Set c = .UsedRange.Rows(1).Find(What:=Me.Range("C1").Value, LookAt:=xlWhole).MergeArea.Cells(1)
            If Not c Is Nothing Then
                For Each rng In c.MergeArea.Cells(1).Offset(2).Offset(, 2).Resize(.UsedRange.Rows.Count - 2).Cells
                    x = Application.Match(rng.Value, y, 0)
                    If Not IsError(x) Then
                        Application.EnableEvents = False
                        Me.Cells(4, x) = rng.Offset(, -2).Value
                        Application.EnableEvents = True
                    End If
                Next rng
            End If
        End With
    End If
   
End Sub
Voltar ao Topo Ir em baixo
Ver perfil do usuário
santa.ars



Mensagens : 136
Data de inscrição : 07/09/2011

MensagemAssunto: Retorno   Qui Nov 15, 2012 8:00 pm

Não deu certo.
Pelo menos eu não consegui fazer funcionar.
Ixxii. tem como testar para mim?
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: Busca de dados com 2 verificações   Sex Nov 16, 2012 2:54 am

Boa noite!!!

Veja dessa forma
Código:

Private Sub CMD_Click()
Dim rng As Range
    Dim c  As Range, x, y
    Dim lasrow As Long
 
   
        y = Range("a2:j2").Value2
        With Worksheets("AGENDA")
            Range("A4:J28").ClearContents
           
            Set c = .UsedRange.Rows(1).Find(What:=Me.Range("C1").Value, LookAt:=xlPart).MergeArea.Cells(1)
            If Not c Is Nothing Then
                For Each rng In c.MergeArea.Cells(1).Offset(2).Offset(, 2).Resize(.UsedRange.Rows.Count - 2).Cells
                    x = Application.Match(rng.Value, y, 0)
                    If Not IsError(x) Then
                        lastrow = Cells(Rows.Count, x).End(xlUp).Row + 1
                        Me.Cells(lastrow, x) = rng.Offset(, -2).Value
                    End If
                Next rng
            End If
        End With
   
End Sub
Voltar ao Topo Ir em baixo
Ver perfil do usuário
santa.ars



Mensagens : 136
Data de inscrição : 07/09/2011

MensagemAssunto: Outro Problema   Sab Nov 17, 2012 8:32 pm

A Macro funcionou, mas estou tento outro problema.
Para que a macro funcione está sendo necessário que eu clique no botão EXECUTAR.
Como fazer com que a macro execute normalmente, ou seja, o que devo fazer para que ao digitar o nome ou palavra no campo da planilha a macro faça a execução normalmente?
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: Busca de dados com 2 verificações   Sab Nov 17, 2012 8:53 pm

Boa tarde!!

Mude a macro para uma sub rotina.

e use..
Código:
Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("C1")) Is Nothing Or Target.Cells.Count > 1 Then
Exit Sub
Else
Call SuaMacro
End If

End Sub
Voltar ao Topo Ir em baixo
Ver perfil do usuário
santa.ars



Mensagens : 136
Data de inscrição : 07/09/2011

MensagemAssunto: Mais uma dúvida   Qua Nov 21, 2012 3:26 am

Funcionou com a procura por uma palavra, mas agora eu preciso filtrar por período.
A idéia é a mesma, porém terá a data 1 e a data 2.

veja a planilha:

4shared.com/file/CW8-BmYA/Busca_Dados_com_3_chaves.html?
Voltar ao Topo Ir em baixo
Ver perfil do usuário
santa.ars



Mensagens : 136
Data de inscrição : 07/09/2011

MensagemAssunto: Sendspace   Qui Nov 22, 2012 11:12 pm

Segue a seguir o link para download do arquivo. O mesmo está no sendspace também:



sendspace.com/file/p513uc
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Conteúdo patrocinado




MensagemAssunto: Re: Busca de dados com 2 verificações   Hoje à(s) 2:52 am

Voltar ao Topo Ir em baixo
 
Busca de dados com 2 verificações
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» Como criar base de dados?
» Como inserir dados no MEIO de um arquivo txt
» Como colocar mais dados obrigatórios
» Retirar caixa de busca
» Desativar busca do fórum

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: