Troca de dados entre pastas de trabalho com nome variável  [Resolvido]

Visual Basic for Aplication e macros no Excel.
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde. Imagem

Troca de dados entre pastas de trabalho com nome variável  [Resolvido]

Mensagempor savioloz » Qui Ago 09, 2018 11:07 am

Bom dia à todos.

Tenho uma pasta de trabalho com um nome "Banco.xlsm" onde acumulo os meus dados. (Pasta de trabalho com os códigos VBA)
Tenho uma pasta de trabalho com o nome "Orçamento" que busca dados em "Banco.xlsm" e retorna colando a informação.

O código só funciona se a pasta de trabalho ativa tiver o nome "Orçamento"

Meu problema:
É possível editar meu código com nome fixo:
Código: Selecionar todos
    Workbooks("orçamento.xlsx").Activate

Para um código que reconheça a planilha ativa: (A planilha que pede a informação)
Código: Selecionar todos
    Workbooks("nome variável.xlsx").Activate

Para que eu não precise ficar constantemente mudando o nome do arquivo que estou trabalhando para "orçamento.xlsx"?
Editado pela última vez por wagner em Qui Ago 09, 2018 1:37 pm, em um total de 1 vez.
Razão: Códigos VBA devem ser inseridos com a TAG CODE existente no início da caixa de mensagens.
savioloz
Membro
Membro
 
Mensagens: 10
Registrado em: Seg Mai 28, 2018 3:17 pm
Has thanked: 3 times
Have thanks: 0 time

{ SO_SELECT }

Re: Troca de dados entre pastas de trabalho com nome variáve

Mensagempor wagner » Qui Ago 09, 2018 1:40 pm

savioloz,

Boa Tarde!

Solicitamos, por gentileza, ao inserir código VBA no fórum, utilizar a ferramenta CODE existente logo acima da caixa de mensagens (quinto botão da esquerda para a direita).

Quanto a sua demanda, você deve usar o código abaixo:
Código: Selecionar todos
ActiveWorkbook.Activate
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel

For this post the author wagner thanked:
savioloz (Qui Ago 09, 2018 3:11 pm)
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 4125
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 69 times
Have thanks: 1790 times

Re: Troca de dados entre pastas de trabalho com nome variáve

Mensagempor savioloz » Qui Ago 09, 2018 3:31 pm

Se eu usar:
Código: Selecionar todos
ActiveWorkbook.Activate

Eu permaneço ainda na planilha do banco de dados.

Eu preciso voltar para a planilha inicial. É nesse momento que gostaria de manter o nome de cada planilha sem ter que ficar editando para "orçamento.xlsx"

Funciona assim: Estou trabalhando numa planilha e acionando o código, vou para outra pasta, copio os dados e volto para a planilha inicial.
Como voltar para essa planilha sem ter que ficar renomeando todos os arquivos que utilizo para "orçamento.xlsx"?

Veja o código para um melhor entendimento;
Código: Selecionar todos
Selection.Copy
    Workbooks("Banco.xlsm").Activate
    Sheets("CATALOGO").Select
    Range("B3").Select
    ActiveSheet.Paste
   
    Workbooks("Banco.xlsm").Activate
    Sheets("CATALOGO").Select
    Range("C5").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Copy
    Workbooks("orçamento.xlsx").Activate
    Sheets("Comp_analiticas").Select
    Range("A200000").Select
    Selection.End(xlUp).Select
    ActiveCell.Offset(2, 0).Select
'    ActiveSheet.Paste
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
savioloz
Membro
Membro
 
Mensagens: 10
Registrado em: Seg Mai 28, 2018 3:17 pm
Has thanked: 3 times
Have thanks: 0 time

Re: Troca de dados entre pastas de trabalho com nome variáve

Mensagempor wagner » Qui Ago 09, 2018 4:15 pm

Ao iniciar esse arquivo que você vai voltar pra ele, crie uma variável do tipo String e armazene nela o nome do arquivo. Depois, quando quiser voltar para o arquivo, basta fazer referência à variável.
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 4125
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 69 times
Have thanks: 1790 times

Re: Troca de dados entre pastas de trabalho com nome variáve

Mensagempor savio_loz » Sex Ago 10, 2018 2:59 pm

Tens algum exemplo que se adeque ao código que postei?
savio_loz
Membro
Membro
 
Mensagens: 7
Registrado em: Qui Ago 10, 2017 5:36 pm
Has thanked: 5 times
Have thanks: 1 time

Re: Troca de dados entre pastas de trabalho com nome variáve

Mensagempor wagner » Sex Ago 10, 2018 4:11 pm

savio_loz,

Boa tarde!

Muito difícil fazer conjecturas...

Poste seu arquivo.
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 4125
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 69 times
Have thanks: 1790 times

Mensagempor MPrudencio » Dom Ago 12, 2018 4:16 pm

Não entendi! Vc copia do banco para a planilha orçamento ou da planilha orçamento para o banco?


Se a planilha orçamento vc usa com frequencia o normal seria ter uma planilha pre formatada para que vc possa usar todas as vezes que precisar e nao ter que criar uma nova planilha a cada orçamento que fizer.

Qto a salvar os orçamentos realizados vc tem algumas de opções:

Salvar em pdf
Salvar em xls
Salvar em um banco de dados
Imprimir
Enviar por email

Enfim a criatividade é o limite.
Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

MPrudencio
Membro
Membro
 
Mensagens: 2691
Registrado em: Sáb Ago 15, 2015 8:29 pm
Has thanked: 70 times
Have thanks: 587 times

Re: Troca de dados entre pastas de trabalho com nome variáve

Mensagempor savioloz » Dom Ago 12, 2018 6:00 pm

Wagner,
Eu não sabia que era tão difícil fazer conjecturas, uma vez que todo código foi postado. Perdão pela minha pouca experiência.

MPrudencio,
Como disse anteriormente, a pasta de trabalho "Orçamento" busca informações na pasta "Banco"
Fazer uma planilha modelo só serve quando eu inicio um orçamento.
Quando eu recebo orçamentos prontos e preciso fazer minhas conferências, percebi que perco muito tempo renomeando para "orçamento" um por um para o código funcionar.
Gostaria de identificar no código o arquivo que estou usando, evitando com isso perder tempo.
Pra isso eu acredito ter que criar uma variável que faça com que o código funcione com qualquer nome de arquivo analisado e eu não sei editar meu código para isso!

Estou anexando 3 arquivos (Banco, orçamento e PlanilhaNomeDiferente)
Como fazer para que o código que está no arquivo (Banco) funcione para as duas planilhas, sem ter que renomear PlanilhaNomeDiferente para orçamento?

Desde já, obrigado pela atenção de todos.
Você não está autorizado a ver ou baixar esse anexo.
savioloz
Membro
Membro
 
Mensagens: 10
Registrado em: Seg Mai 28, 2018 3:17 pm
Has thanked: 3 times
Have thanks: 0 time

Re: Troca de dados entre pastas de trabalho com nome variáve

Mensagempor EdsonBR » Seg Ago 13, 2018 12:49 am

Olá Savioloz

Vc abre as pastas de trabalho de orçamento manualmente, né? Então vc pode usar o índice do arquivo ao invés do nome.

1) Considerando que vc sempre abrirá Banco.xlsm antes de abrir alguma de orçamento;
2) Considerando ainda que não tenha nenhuma outra pasta de trabalho Excel aberta de outros assuntos no momento, somente ela, então o índice da Bancos.xlsm será 1;
3) Considerando também que após ter aberto uma pasta das de Orçamento (índice 2) vc a feche antes de abrir uma outra dessas;

Então vc sempre poderá se referir à qualquer das pastas de orçamento abertas (uma de cada vez) ao invés de Workbooks("Orçamento") como sendo:

Workbooks(2)
Avatar do usuário
EdsonBR
Membro
Membro
 
Mensagens: 494
Registrado em: Qui Nov 05, 2015 11:43 pm
Localização: Joinville, SC
Has thanked: 99 times
Have thanks: 293 times

Re: Troca de dados entre pastas de trabalho com nome variáve

Mensagempor wagner » Seg Ago 13, 2018 9:28 am

savioloz,

Bom dia!

Não se trata de falta de experiência. Desculpe se me expressei mal...

Quanto me referi as conjecturas, estava querendo dizer que o ideal é que você anexasse seus arquivos aqui ou arquivos exemplos idênticos aos originais, com poucas linhas, para podermos rodar integralmente, depurar e ver qual é a melhor forma de propor uma ajuda.
Se a resposta foi útil para você, por gentileza, Amigo, clique na mãozinha ao lado direito da ferramenta CITAR, no canto superior direito.

Atenciosamente
Wagner Morel
Avatar do usuário
wagner
Moderador
Moderador
 
Mensagens: 4125
Registrado em: Sáb Out 20, 2012 12:49 pm
Localização: Fortaleza - CE
Has thanked: 69 times
Have thanks: 1790 times

Próximo

Voltar para VBA & Macros

Quem está online

Usuários navegando neste fórum: EdsonBR e 1 visitante