| 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... |
| | Busca de Informações através de macro - urgente | |
| | Autor | Mensagem |
---|
santa.ars
Mensagens : 138 Data de inscrição : 07/09/2011
| Assunto: 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 | |
| | | alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: 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.
| |
| | | santa.ars
Mensagens : 138 Data de inscrição : 07/09/2011
| Assunto: 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. | |
| | | alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: 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 | |
| | | santa.ars
Mensagens : 138 Data de inscrição : 07/09/2011
| Assunto: 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 ? | |
| | | alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: 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 | |
| | | santa.ars
Mensagens : 138 Data de inscrição : 07/09/2011
| Assunto: 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. | |
| | | alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: 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
| |
| | | santa.ars
Mensagens : 138 Data de inscrição : 07/09/2011
| Assunto: 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. | |
| | | alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: 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 | |
| | | alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: 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
| |
| | | santa.ars
Mensagens : 138 Data de inscrição : 07/09/2011
| Assunto: 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?? | |
| | | santa.ars
Mensagens : 138 Data de inscrição : 07/09/2011
| Assunto: 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 | |
| | | alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: 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 | |
| | | santa.ars
Mensagens : 138 Data de inscrição : 07/09/2011
| Assunto: Retorno Sáb 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. | |
| | | santa.ars
Mensagens : 138 Data de inscrição : 07/09/2011
| Assunto: Retorno Sáb 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. | |
| | | alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: 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 Att | |
| | | santa.ars
Mensagens : 138 Data de inscrição : 07/09/2011
| Assunto: Retorno Qua Set 12, 2012 2:29 am | |
| Ok vou usar o que me mandou. Muito obrigado. | |
| | | Conteúdo patrocinado
| Assunto: Re: Busca de Informações através de macro - urgente | |
| |
| | | | Busca de Informações através de macro - urgente | |
|
Tópicos semelhantes | |
|
| Permissões neste sub-fórum | Não podes responder a tópicos
| |
| |
| |
|