Notifications
Clear all

PROCV copiando célula e colando na formula

8 Posts
3 Usuários
0 Reactions
2,627 Visualizações
(@leonbr)
Posts: 20
Eminent Member
Topic starter
 

Bom dia pessoal,

Lá venho eu novamente com mais uma dúvida bizarra rs.

Temos aqui na empresa, vários contratos ( em excel) que extraímos de um sistema e salvamos numa mesma pasta.
Nestes contratos tem o valor dos exames, obviamente para cada cliente , há um preço diferenciado.

Porem, estamos com uma planilha semelhante a que envio em anexo.
Ja extraímos grande parte dos contratos e já deixamos salvos na pasta correta.

Porem temos que ficar agora, copiando e colando os PROCVs e mudando somente o nome do contrato na parte de endereço na fórmula.
Na propria planilha, ja temos todos os nomes listados. Então basicamente temos que copiar e colar umas centenas de vezes.

Alterando somente desta forma( somente o nome dos arquivos):

=PROCV($A4;'\fsPublico-Evolução - Fontes PagadorasBase de DadosTabelas Extraídas e Análises Estudos Extrações L[CONTRATO1.xlsx]Plan1'!$G:$O;9;0)
=PROCV($A4;'\fsPublico-Evolução - Fontes PagadorasBase de DadosTabelas Extraídas e Análises Estudos Extrações L[CONTRATO2.xlsx]Plan1'!$G:$O;9;0)

Há alguma forma de criar uma macro, que iria gerar automaticamente esses procvs levando em consideração o nome dos contratos que já estão ali na planilha ?

Envio em anexo e zipado, um exemplo para demonstrar o nosso problema.

Muito obrigado pela possível ajuda galera.

Abraços

 
Postado : 23/01/2013 8:24 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

LeonBR,

Bom Dia, amigo!

Bem... com PROCV eu não sei como faz...

Minha solução para esse problema que você relata foi com utilização de VBA. Para fins de testes, dentro do exemplo que você enviou, inseri as abas Convênio 3, Convênio 4 e Convênio 5 e inseri dados na coluna B de cada uma dessas abas. Depois, através da macro, são copiados todos esses dados para a Plan1 (como se fosse um PROCV).

Para testar, clique no botão criado na Plan1 que executa a macro. Da forma que fiz, você pode ter inúmeras abas (Convênio1, Convênio 2... Convênio n) e também inúmeras linhas com dados (não somente de 1 a 3 linhas como nas abas que começam com Convênio). A única restrição que deve ser observada é a disposição dos dados. Ou seja, deve existir uma aba chamada Plan1, os tipos (Exames) devem estar na coluna A, começando na linha 3 com Tipo 1 e as colunas de Convênio começando a partir da coluna B, na linha 3 também. Nas abas de convênio, os tipos devem estar na coluna A e os valores na B, todos começandos na linha 1.

Veja se assim atende a sua necessidade. Segue o arquivo com a macro.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 24/01/2013 7:37 am
(@leonbr)
Posts: 20
Eminent Member
Topic starter
 

Opa obrigado pela ajuda Wagner, desculpe pela demora para responder.

Porem isso acaba não sendo possível, pois quando extraímos um contrato, ele pode ter desde somente um exame.....até 2500 exames por exemplo.
E no contrato so vem o exame contratado, ou seja, não vem o portfólio todo =/.

A ideia é ótima porem eu errei na explicação , não avisei deste problema =/

 
Postado : 29/01/2013 10:22 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Bem... não entendi!

Se puder explicar melhor...

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 31/01/2013 5:53 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Leon,

Imagine que sua planilha esteja assim:
COLUNA A
CONTRATO1
CONTRATO2
CONTRATO3
CONTRATO4
CONTRATO5
CONTRATO6
CONTRATO7
CONTRATO8
CONTRATO9
e assim por diante...

Em B1 (à direita de CONTRATO1) digite a seguinte fórmula:

=SE(A1="";"";CONCATENAR("#PROCV($A4;'\fsPublico-Evolução - Fontes PagadorasBase de DadosTabelas Extraídas e Análises Estudos Extrações L["&A1&".xlsx]Plan1'!$G:$O;9;0)"))

Depois arraste para baixo.

Feito isso, selecione a Coluna B e COPIE e COLE COMO VALORES. Ato contínuo, mantenha a Coluna B selecionada e acione Ctrl+L -> localizar (digite) #; substituir (digite) =; depois clique em SUBSTITUIR TUDO.

Esse processo é perfeitamente possível através de macro mas levaria uma eternidade para eu poder te explicar (não saco muito de VBA).

Grosso modo o que vc está fazendo é "digitando" todos os PROCV()´s com a ajuda do CONCATENAR() e, ao trocar o "#" pelo "=", vc ativa as fórmulas.

Entendido o raciocínio, vc pode adaptar a sistemática em outras situações semelhantes.

Me avise.

Abs,

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 04/02/2013 3:20 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

MANDRIX.xls,

Boa Tarde!

Infelizmente, não vou poder te ajudar. Foge aos meus conhecimentos.

Vamos deixar para os colegas "feras" aqui do fórum que, com certeza, vão poder te auxiliar.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 04/02/2013 12:27 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Wagner,

Quem tá na dúvida é o Leon.

Na realidade esse assunto é recorrente (viewtopic.php?f=10&t=2869&start=10&hilit=trocar+48+macros).

Sei como fazer através de macros mas como, aparentemente, ele precisa fazer isso uma única vez acho mais fácil através de COPIAR/COLAR VALORES e LOCALIZAR/SUBSTITUIR.

Abs,

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 04/02/2013 12:52 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Ah, sim!

Valeu MANDRIX.xls!

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 04/02/2013 5:35 pm