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 Informações através de macro - urgente

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 Informações através de macro - urgente   Dom Set 02, 2012 6:09 am

Tenho uma planilha que tem 3 abas:
Cadastro de Fornecedores
Cadastro de Compras
Formulário de Ordem de Compra.

O que quero é que ao digitar o número da ordem de compra na planilha de formulário de ordem de compra, os dados correspondentes que foram cadastrados na planilha de Cadastro de Compras possam vir para o formulário de Ordem de Compra, ou seja apareçam no mesmo.

Quero fazer isso com macro. Tenho uma macro que posso explorá-la, mas tenho dificuldade com macro; e posso peço ajuda.
Segue o endereço que postei o arquivo planilha para que possa visualizar melhor o que quero. Veja que o que está de amarelo na ordem de compra é o que deve vir, a partir da digitação do número da ordem de compra.

4shared.com/office/d4cZRK7V/Ordem_de_Compra_-_automtica.html?

A macro modelo que tenho é a seguinte:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim wsData As Worksheet, wsReturn As Worksheet
Dim numRng As Range, fndRng As Range, oC As Range, delRng As Range
Dim lRow As Long

Set wsData = Worksheets("CRONOGRAMA")
Set wsReturn = Worksheets("DADOS")
Set numRng = wsData.Range(wsData.Cells(3, 4), wsData.Cells(3, wsData.Columns.Count).End(xlToLeft))

If Target.Address <> "$C$1" Then
Exit Sub
Else
Application.EnableEvents = False
Set delRng = wsReturn.Range(wsReturn.Cells(3, 1), wsReturn.Cells(wsReturn.Rows.Count, 1).End(xlUp).Offset(0, 2))
delRng.ClearContents
Set fndRng = numRng.Cells.Find(Target.Value, after:=wsData.Range("D3"), LookIn:=xlValues, LookAt:=xlWhole, _
SearchOrder:=xlByColumns, SearchDirection:=xlNext)
lRow = wsData.Cells(wsData.Rows.Count, 1).End(xlUp).Row
If Not fndRng Is Nothing Then
For Each oC In wsData.Range(fndRng.Offset(1, 0), wsData.Cells(lRow, fndRng.Column))
Debug.Print oC.Address
If oC.Value = "X" Or oC.Value = "x" Then
wsReturn.Range(wsReturn.Cells(wsReturn.Rows.Count, 1).End(xlUp).Offset(1, 0), _
wsReturn.Cells(wsReturn.Rows.Count, 3).End(xlUp).Offset(1, 0)).Cells.Value = _
wsData.Range(wsData.Cells(oC.Row, 1), wsData.Cells(oC.Row, 3)).Cells.Value
End If
Next oC
End If
Set oC = Nothing
Set fndRng = Nothing
Set wsReturn = Nothing
Set wsData = Nothing
Set numRng = Nothing
Application.EnableEvents = True
End If
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 Informações através de macro - urgente   Dom Set 02, 2012 3:25 pm

BOm dia!!

Essa macro lembro que eu te mandei!!

Mas quanto a sua dúvida, poria mudar o Lay-Out, de sua planilha, mantendo os dados e forma de banco de dados?

Att.

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



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

MensagemAssunto: Resposta sobre questionamento   Dom Set 02, 2012 3:30 pm

Realmente essa macro foi você quem me mandou.
Eu não posso mudar o lay-out das planilhas.
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 Informações através de macro - urgente   Dom Set 02, 2012 6:03 pm

Boa tarde!!

Se eu comparar sua pergunta com a resposta seria fácil fazer o que quer.

Porém sem detalhes não vamos chegar a lugar algum.

na planilha Compras os itens tem que obedecer aquela ordem?
A quantidade tem que ser aquela? 7 itens?
Explique detalhadamente!!
Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
santa.ars



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

MensagemAssunto: Resposta   Dom Set 02, 2012 10:58 pm

Na planilha Compras não foque os 7 itens, mesmo porque a planilha poderá ter muito mais registros.
Veja que lá tem o campo "Nº Ordem de Compra", aí veja que os itens na horizontal fazem parte do registro que for digitado.
Os dados correspondentes a um determinado nº de ordem de compra devem ir para o formulário ordem de compra, que é outra planilha.
Resumindo, no formulário ordem de compra, o número que for digitado lá, será a busca do número de ordem de compra da planilha compra, na qual tem os dados horizontais que devem ir para o formulários.
Entendeu ?
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 Informações através de macro - urgente   Seg Set 03, 2012 2:00 am

Boa noite!!

Isso te ajuda?
http://www.sendspace.com/file/gptti3

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



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

MensagemAssunto: Retorno   Seg Set 03, 2012 2:31 am

Obrigado pela resposta.
Mas não quero fazer com a fórmula do excel.

Estou quebrando a cabeça para fazer com MACRO.
Tipo aquela que me ajudou, realmente meu desejo é a MACRO.
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 Informações através de macro - urgente   Seg Set 03, 2012 1:38 pm

Bom dia!!

Consegue adaptar o restante???
Se houver células mescladas favor elimina-las!!
Código:
Sub Worksheet_Change(ByVal Target As Range)
    With Application
        .ScreenUpdating = False: .Calculation = xlCalculationManual:
        .EnableEvents = False: .DisplayAlerts = False
    End With
    With Sheets("Ordem de Compra").Select
        Range("C3:C4, B9:J18").ClearContents
        Range("C3").Value = Evaluate("=VLOOKUP($K$2,Compras!$A$3:$AR$27,4)")
        Range("C4").Value = Evaluate("=VLOOKUP($K$2,Compras!$A$3:$AR$27,3)")
        Range("B9").Value = Evaluate("=VLOOKUP($K$2,Compras!$A$3:$AR$27,5)")
        Range("F9").Value = Evaluate("=VLOOKUP($K$2,Compras!$A$3:$AR$27,6)")
        Range("H9").Value = Evaluate("=VLOOKUP($K$2,Compras!$A$3:$AR$27,7)")
        Range("I9").Value = Evaluate("=VLOOKUP($K$2,Compras!$A$3:$AR$27,8)")
      'Continue o restante aqui...
    End With
    With Application
        .DisplayAlerts = True: .EnableEvents = True:
        .Calculation = xlCalculationAutomatic: .ScreenUpdating = True
    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: Sobre a macro   Seg Set 03, 2012 7:44 pm

Nossa amigo, é para quem entende muito mesmo.
Estou tentando iniciar em macro e estou batendo cabeça, acho que alterei muito a macro.
Não estou conseguindo.
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 Informações através de macro - urgente   Qua Set 05, 2012 3:52 am

Boa noite!!

Veja se é isso
http://www.sendspace.com/file/ehlsnl

Att
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 Informações através de macro - urgente   Qua Set 05, 2012 12:54 pm

Bom dia!!

Caso queira eliminar os zeros, use!!

Código:
Sub Worksheet_Change(ByVal Target As Range)
    Dim aRange
    Dim aIndex
    Dim i As Integer
    With Application
        .ScreenUpdating = False: .Calculation = xlCalculationManual:
        .EnableEvents = False: .DisplayAlerts = False
    End With
    With Sheets("Ordem de Compra").Select
        Range("C3:C4, B9:J18").ClearContents
        aRange = Array("C3", "C4", "B9", "F9", "H9", "I9", "B10", "F10", "H10", "I10", _
        "B11", "F11", "H11", "I11", "B12", "F12", "H12", "I12", "B13", "F13", "H13", "I13", _
        "B14", "F14", "H14", "I14", "B15", "F15", "H15", "I15", "B16", "F16", "H16", "I16", _
        "B17", "F17", "H17", "I17", "B18", "F18", "H18", "I18")
        aIndex = Array(4, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, _
        24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
        For i = 0 To UBound(aRange)
            Range(aRange(i)).Value = Evaluate("=IFERROR(INDEX(Compras!$A$3:$AR$27,MATCH($K$2,Compras!$A$3:$A$27,0)," & aIndex(i) & "),"""")")
            If Range(aRange(i)).Value = 0 Then Range(aRange(i)).Value = ""
        Next i
    End With
    With Application
        .DisplayAlerts = True: .EnableEvents = True:
        .Calculation = xlCalculationAutomatic: .ScreenUpdating = True
    End With
End Sub
Wink
Voltar ao Topo Ir em baixo
Ver perfil do usuário
santa.ars



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

MensagemAssunto: iNFORMAÇÃO   Qui Set 06, 2012 7:11 am

Quero tirar as células mescladas. Tentei fazer isso e não funcionou mais.

Outra coisa, como faço para HABILITAR A MACRO??
Voltar ao Topo Ir em baixo
Ver perfil do usuário
santa.ars



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

MensagemAssunto: Mais dúvidas   Qui Set 06, 2012 7:48 am

Realmente estou com dúvida. Macro não é fácil.
O que quero é fazer tudo por macro.
No arquivo há 3 planilhas. Formatei a planilha ORDEM DE COMPRA, retirei as células mescladas e pintei de amarelo tudo o que quero buscar das planilhas COMPRAS e FORNECEDORES.
Então fiz alterações para melhorar e a macro acabou deixando de funcionar. Não entendi a planilha Plan1.
Outra coisa que preciso entender, como faço para habilitar uma macro depois que fiz alteração, do nada deixa de funcionar.

Mas coloquei a planilha no link abaixo novamente e peço ajuda para fazê-la funcionar. Desde já agradeço.


4shared.com/office/3UDGcgFf/Ordem_de_Compra_-_automtica_e_.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 Informações através de macro - urgente   Sex Set 07, 2012 8:07 pm

Boa tarde!!

Mas o arquivo que te mandei está funcionando use ele!!

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



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

MensagemAssunto: Retorno   Sab Set 08, 2012 12:51 am

Eu sei que está funcionando.
Mas é que formatei o mesmo. retirei células mescladas.
E aí pára de funcionar e não consigo consertar.
Voltar ao Topo Ir em baixo
Ver perfil do usuário
santa.ars



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

MensagemAssunto: Retorno   Sab Set 08, 2012 12:51 am

Eu sei que está funcionando.
Mas é que formatei o mesmo. retirei células mescladas.
E aí pára de funcionar e não consigo consertar.
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 Informações através de macro - urgente   Qua Set 12, 2012 2:04 am

Boa noite!!

Eu não estou entendendo, o arquivo que eu mandei está em uso, porque você não o usa??

Caso necessário mande o arquivo de volta, mas eu acho muito estranho Suspect
Att confused confused
Voltar ao Topo Ir em baixo
Ver perfil do usuário
santa.ars



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

MensagemAssunto: Retorno   Qua Set 12, 2012 2:29 am

Ok vou usar o que me mandou.
Muito obrigado.
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Conteúdo patrocinado




MensagemAssunto: Re: Busca de Informações através de macro - urgente   Hoje à(s) 10:51 pm

Voltar ao Topo Ir em baixo
 
Busca de Informações através de macro - urgente
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» Executar .bat através de Macro do excel
» Salvar informações do mouse
» Retirar caixa de busca
» Desativar busca do fórum
» Centralizar informação

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: