Página 1 de 1

Criar uma Macro para Consulta

Enviado: 08 Out 2017 às 10:19
por heltonaadm
Estou com bastante dificuldade em criar uma macro para consultar utilizando o nome de um comprador para aparecer as informaçoes necesarias.

Segue abaixo como estou escrevendo:

ub Consulta()
'
' Consulta Macro
'
Application.ScreenUpdating = False

Range("C1:C2").Select
Sheets("Total Geral").Range("C6:C20").AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Range("C1:C2"), CopyToRange:=Range("C6:C300"), Unique:=False
Range("C2").Select
Sheets("Resumo").Select
Range("B10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Total Geral").Select
Range("R6:R20").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Resumo").Select
Range("C10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Total Geral").Select
Range("S6:S20").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Resumo").Select
Range("D10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Total Geral").Select
ActiveWindow.SmallScroll ToRight:=14
Range("AF6:AF20").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Resumo").Select
Range("E10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Total Geral").Select
Range("AG6:AH20").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Resumo").Select
Range("F10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Total Geral").Select
ActiveWindow.SmallScroll ToRight:=45
Range("BX6:BX20").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Resumo").Select
Range("I10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Total Geral").Select
Range("BY6:BY20").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Resumo").Select
Range("J10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Total Geral").Select
ActiveWindow.SmallScroll ToRight:=12
Range("CL6:CM20").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Resumo").Select
Range("K10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Total Geral").Select
ActiveWindow.SmallScroll ToRight:=18
Range("CZ6:DA20").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Resumo").Select
Range("O10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Total Geral").Select
ActiveWindow.SmallScroll ToRight:=16
Range("DN6:DP20").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Resumo").Select
Range("Q10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("C2").Select
End Sub

Aguardo

Criar uma Macro para Consulta

Enviado: 08 Out 2017 às 10:25
por gfranco
Bom dia.
Postar uma amostra de sua planilha com uma demonstração manual do resultado esperado facilita ajudar-lhe.

Re: Criar uma Macro para Consulta

Enviado: 08 Out 2017 às 10:25
por babdallas
Sugiro colocar o arquivo em anexo. Fica mais fácil de identificar o possível erro. Ver o código assim sem identação e sem ver os dados é complicado de dizer o possível erro.
Se não puder colocar a planilha por possuir dados confidenciais, anexe uma planilha com dados fictícios.

Re: Criar uma Macro para Consulta

Enviado: 08 Out 2017 às 10:53
por heltonaadm
Segue:

Eu tenho informações na aba Total Geral e preciso que no Resumo eu coloque o nome do comprador e apareças as informações que estão no campo da Aba Resumo,

Tem Whatsapp?

Segue a planilha

Obrigado

Criar uma Macro para Consulta

Enviado: 08 Out 2017 às 11:01
por gfranco
Uma tabela dinâmica não seria mais adequada para essa situação proposta?

Re: Criar uma Macro para Consulta

Enviado: 08 Out 2017 às 11:05
por heltonaadm
Poderia ser a melhor forma mais o usuario nao usa tabela dinamica, alem disso depois da consulta prentendo fazer algumas inclusão atraves de uma formula que nao estao nessa base

Re: Criar uma Macro para Consulta

Enviado: 08 Out 2017 às 11:11
por babdallas
Este arquivo faz referência a outro arquivo. Como não tenho esta base, não consigo ver os valores na planilha Total Geral.
Então para melhorar minha compreensão, pergunto:

1) Você quer que ao colocar o nome do comprador na planilha Resumo, o código busque o ano correspondente na planilha Total Geral e traga a informação do campo pretendido (Ex: Venda Bruta, ano 2016, campo Calculado)?
2) Cada ano tem os 12 meses. Como saber qual mês retornar os dados? Baseado na célula C3 da planilha Total Geral?

Re: Criar uma Macro para Consulta

Enviado: 08 Out 2017 às 11:20
por heltonaadm
1) Sim, Campo calculado, por exemplo Ano2016 na Aba Total Geral tem a coluna acumulada e a part% ou seja ela vai trazer essa informação na consulta.
2) NA aba total geral já esta calculando para trazer o acumulado até o periodo determinado.

exemplo:

Total geral eu tenho a base dos principais fornecedores, e todas as informações desses fornecedores.
Resumo eu quero digitar o nome do comprador e apenas trazer os fornecedores que ele trabalha com as informações que estão nas colunas da aba Resumo

Re: Criar uma Macro para Consulta

Enviado: 08 Out 2017 às 13:08
por heltonaadm
Pessoal esta aparecendo esse erro: erro em tempo de execução 1004- o intervalo de extração tem um nome de campo ausente ou invalido, segue o script:


Range("C1:C2").Select
Sheets("Base Geral").Range("A4:R300").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("C1:C2"), CopyToRange:=Range("A8:R300"), Unique:=False
Range("C2").Select

Re: Criar uma Macro para Consulta

Enviado: 08 Out 2017 às 18:28
por babdallas
Veja se atende a sua necessidade.

Re: Criar uma Macro para Consulta

Enviado: 08 Out 2017 às 19:58
por heltonaadm
perfeito, mas tentei jogar essa macro na planilha original e apareceu a mensagem comprador nao encontrado, pq sera?

Re: Criar uma Macro para Consulta

Enviado: 08 Out 2017 às 22:28
por babdallas
Imagino dois motivos para não encontrar o comprador:
1) Você digitou um nome de comprador de forma diferente em relação ao nome contido na base de dados (Ex: acento no nome, espaço em branco a mais ou a menos, entre outros).
2) A estrutura da planilha original é diferente da estrutura da planilha que você anexou aqui. Neste caso, os dados podem estar dispostos de maneira diferente, tornando o código VBA inapropriado.
Para ter certeza, só se você anexar a planilha original.

Re: Criar uma Macro para Consulta

Enviado: 09 Out 2017 às 06:13
por heltonaadm
Verifiquei que no lucro bruto e compras esta puxando os mesmo numeros da venda bruta 2016, vide fornecedor Brasport Livros e Multimidia Ltda - venda 2016 - 105.207 e o lucro bruto deveria ser 47.392

Re: Criar uma Macro para Consulta

Enviado: 09 Out 2017 às 06:51
por heltonaadm
Estou com um outro problema em outra macro: aparece a mensagem,

o intervalo de extração tem um nome de campo ausente ou invalido

Sub Consulta()
'
' Consulta Macro
'
Application.ScreenUpdating = False

Range("C1:C2").Select
Sheets("Base Geral").Range("A4:R300").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("C1:C2"), CopyToRange:=Range("A8:R300"), Unique:=False
Range("C2").Select

End Sub

Re: Criar uma Macro para Consulta

Enviado: 09 Out 2017 às 10:09
por babdallas
Teste agora.

Re: Criar uma Macro para Consulta

Enviado: 09 Out 2017 às 10:12
por babdallas
O Arquivo Teste2 você mandou sem o código VBA. Favor encaminhar o arquivo com o código.