Notifications
Clear all

IMPORTAR DADOS DE OUTRA WORBOOK

26 Posts
3 Usuários
0 Reactions
4,179 Visualizações
(@gallilleu)
Posts: 13
Active Member
Topic starter
 

Bom dia pessoal,

Estou com um problema para concluir um projeto na empresa que eu trabalho. Tenho uma workbook com várias abas (30-01, 30-02, 30-03...) cada uma corresponde a um determinado vendedor onde são preenchidas pelos mesmos. Tenho uma nova workbook com apenas uma aba (Relatorios) e eu gostaria que uma macro coletasse as informações contidas nas planilhas dos vendedores (30-01, 30-02, 30-03 ....) e copiasse para a planilha "Relatorios" para que eu consiga manipular os dados aplicando filtros. Essa importação tem apenas uma regra, quando a macro estiver "varrendo" as planilhas dos vendedores (30-01, 30-02, 30-03..) e encontrar uma linha vazia na coluna A ela tem que parar e ir para a próxima aba. Em anexo envio um modelo para melhor exemplificar.

 
Postado : 26/12/2013 6:24 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

gallilleu,

Qual o caminho onde ficam localizados o seus arquivos? Vou Colocar esse caminho completo no código.

Com relação a questão do nome da cidade eu já estou implementando. Na verdade, pensei numa maneira mais eficiente agora: o código vai identificar o nome existente no botão da cidade que foi clicado e executar de acordo com esse nome.

Uma atenção especial você deve dispensar aos nomes dos seus arquivos, pois estou partindo do pressuposto que eles são da mesma forma que a cidade de Bauru. Ou seja: o mesmo nome que está no botão. Todavia, você ter atenção especial pois para o processador, Bauru é diferente de bauru, é diferente de BaurU, é diferente de baurU e é diferente de Baurú.

Digo isso, porque no primeiro código que lhe enviei, o erro que você relatou era em razão da palavra Relatorio na aba existente na planilha Gestores.xlsm. No primeiro arquivo que você enviou essa palavra estava sem acento. Basta isso para o processador não "achar" o arquivo.

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 : 26/12/2013 10:06 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

Outro detalhe que é preciso saber: Os arquivos (todos), Gestores.xlsm e as cidades.xlsx ficam todos dentro do mesmo caminho?

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 : 26/12/2013 10:08 am
(@gallilleu)
Posts: 13
Active Member
Topic starter
 

Boa tarde Wagner,

Peço desculpas pela demora. Abaixo seguem os caminhos exatos.
Bauru
C:UsersleonardoDesktopPotenciaisPlanilha - LojasBauruPotencial Bauru.xlsm

Dois Córregos
C:UsersleonardoDesktopPotenciaisPlanilha - LojasDois CórregosDois Corregos.xlsm

Fernandópolis
C:UsersleonardoDesktopPotenciaisPlanilha - LojasFernandópolisFernandopolis.xlsm

Ibitinga
C:UsersleonardoDesktopPotenciaisPlanilha - LojasIbitingaIbitinga.xlsm

Itajobi
C:UsersleonardoDesktopPotenciaisPlanilha - LojasItajobiItajobi.xlsm

Itápolis
C:UsersleonardoDesktopPotenciaisPlanilha - LojasItápolisItapolis.xlsm

Jales
C:UsersleonardoDesktopPotenciaisPlanilha - LojasJalesJales.xlsm

Novo Horizonte
C:UsersleonardoDesktopPotenciaisPlanilha - LojasNovo HorizonteNovo Horizonte.xlsm

Piraju (Vai precisar de 02 botões pois são gerentes diferentes)
C:UsersleonardoDesktopPotenciaisPlanilha - LojasPirajuPotencial Piraju - Renato.xlsm
C:UsersleonardoDesktopPotenciaisPlanilha - LojasPirajuPotencial Piraju - Ricardo.xlsm

Taquaritinga
C:UsersleonardoDesktopPotenciaisPlanilha - LojasTaquaritingaTaquaritinga.xlsm

Caso eu venha a trocar de computador eu tenho que alterar os caminhos da macro certo?

Em anexo envio a planilha "Filha" de onde serão extraídas as informações. A operação é bem simples, a planilha matriz vai buscar nas filhas as informações para preenchimento dela.

Para você entender melhor a idéia, envio em anexo o funcionamento dela. O vendedor irá preencher a planilha 10-50, a planilha "Potencial Taquaritinga" recebe automaticamente as informações através das formulas de PROCV e por fim essa nossa agora que estamos desenvolvendo que será a "Matriz" recebe tudo para ter uma análise mais limpa e rápida pelos gestores da empresa.

Ciclo de funcionamento:
Vendedor preenche (10-50.xls) -> Planilha Potencial Taquaritinga reúne todas as planilhas de todos os vendedores de Taquaritinga -> Matriz recebe os dados de todas as cidades através dos seus botões.

gallilleu,

Qual o caminho onde ficam localizados o seus arquivos? Vou Colocar esse caminho completo no código.

Com relação a questão do nome da cidade eu já estou implementando. Na verdade, pensei numa maneira mais eficiente agora: o código vai identificar o nome existente no botão da cidade que foi clicado e executar de acordo com esse nome.

Uma atenção especial você deve dispensar aos nomes dos seus arquivos, pois estou partindo do pressuposto que eles são da mesma forma que a cidade de Bauru. Ou seja: o mesmo nome que está no botão. Todavia, você ter atenção especial pois para o processador, Bauru é diferente de bauru, é diferente de BaurU, é diferente de baurU e é diferente de Baurú.

Digo isso, porque no primeiro código que lhe enviei, o erro que você relatou era em razão da palavra Relatorio na aba existente na planilha Gestores.xlsm. No primeiro arquivo que você enviou essa palavra estava sem acento. Basta isso para o processador não "achar" o arquivo.

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

gallilleu,

Agora ficou turvo de vez! Não entendi mais nada com esse novo posto seu! Eu estou trabalhando em cima de duas planilhas que você havia enviado como sendo as suas planilhas originais: Gestores.xlsm e Bauru.xlsx. Você agora enviou planilhas totalmente diferentes??? Não são aquelas?

Outra coisa: ao me responder sobre o caminho onde estarão os arquivos, você me falou que os arquivos de cada cidade possuem extensão .xlsm! É isso mesmo? Não é .xlsx? você informou o arquivo Dois Corregos.xlsm. É isso mesmo? Sem acento?
O arquivo Fernandopolis.xlsm é também sem acento? o Arquivo Itapolis.xlsm é sem acento?

Tem como os arquivos ficarem todos em uma mesma pasta (Caminho)? Pois em diversos caminhos ficará mais complexos...

Como serão esses dois botões para chamar os diferentes Gerentes da cidade Piraju? Como eles se chamarão na planilha Gestores.xlsm? Posso inserir nesse arquivo seu que veio?

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 : 26/12/2013 1:04 pm
(@gallilleu)
Posts: 13
Active Member
Topic starter
 

Vamos la Wagner,

É uma planilha um pouco trabalhosa, mas vamos nos concentrar na planilha "Gestores"(Matriz) e na Bauru (Que é a planilha que vai nos fornecer os dados).

A planilha Gestores prevalece a mesma. Se você notar na planilha "Matriz" (Gestores) possui os campos: Cod, Cliente, Município...
A planilha Bauru ou Potencial Bauru (é a mesma porém com nomes diferentes, fica a seu critério o que for mais fácil) possui os mesmos campos: Cod, Cliente, Município...

A Matriz vai receber os dados da planilha de Bauru e encaixar nas mesmas colunas, como se estivessem "amarradas".
Cód (Plan "Matriz") = Cód (Plan Bauru)
Cliente (Plan "Matriz") e assim por diante = Cliente (plan Bauru)

O caminho para todas pode ser: C:UsersleonardoDesktopPotenciais....xlsm

Todas as planilhas filhas são *.xlsm e nenhuma possui acento para ficar mais limpo.

Os botões para Piraju pode ser: Piraju Ricardo e Piraju Renato e pode inserir nesse mesmo arquivo apenas criando um botão adicional.

gallilleu,

Agora ficou turvo de vez! Não entendi mais nada com esse novo posto seu! Eu estou trabalhando em cima de duas planilhas que você havia enviado como sendo as suas planilhas originais: Gestores.xlsm e Bauru.xlsx. Você agora enviou planilhas totalmente diferentes??? Não são aquelas?

Outra coisa: ao me responder sobre o caminho onde estarão os arquivos, você me falou que os arquivos de cada cidade possuem extensão .xlsm! É isso mesmo? Não é .xlsx? você informou o arquivo Dois Corregos.xlsm. É isso mesmo? Sem acento?
O arquivo Fernandopolis.xlsm é também sem acento? o Arquivo Itapolis.xlsm é sem acento?

Tem como os arquivos ficarem todos em uma mesma pasta (Caminho)? Pois em diversos caminhos ficará mais complexos...

Como serão esses dois botões para chamar os diferentes Gerentes da cidade Piraju? Como eles se chamarão na planilha Gestores.xlsm? Posso inserir nesse arquivo seu que veio?

 
Postado : 26/12/2013 1:20 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

gallileu,

Bom... como lhe falei, trabalhei em cima dos arquivos Gestores.xlsm e Bauru.xlsx. Isso significa dizer que o código está elaborado para pegar os dados dos arquivos de acordo com os nomes dos arquivos e das abas da forma que foram enviados. Desse modo, nomes diferentes (como acentos ou maiúscula, minúsculas ou espaços fora dos lugares apropriados e informados) poderá fazer com que o código não funcione. A única coisa que alterei nos testes aqui foi o nome do arquivo Bauru.xlsx para Bauru.xlsm. Note que para que o arquivo Bauru.xlsx seja transformado em um arquivo de macro (.xlsm) eu precisei inserir nele um módulo (mesmo sem nada). Isso porque se você mudar apenas a extensão do arquivo, o excel não abre o mesmo por entender que ele não é um arquivo válido.

Como no arquivo Bauru.xlsx que você enviou só existem duas colunas (A e B), somente estas duas colunas são copiadas para a planilha Gestores.xlsm.

Fiz de modo que o caminho, de certa forma, seja irrelevante. Digo de certa forma porque o comando que pega o caminho é "Caminho = ActiveWorkbook.Path & "". Isso significa dizer que todos os outros arquivos (referentes às cidades) devem estar na mesma pasta onde estiver o arquivo Gestores.xlsm. Todos os arquivos das cidades estão com extensão .xlsm, sem acentos, com iniciais maiúsculas e um espaço quando nomes compostos.

Os botões foram trocados por controles ActiveX pois esses permitem utilizarmos o evento Click dos mesmos. Nesse evento, eu chamo a rotina BuscarInformações(ByVal Cidade As String), passando como parâmetro, a propriedade Caption do botão que foi clicado.

Daí para frente o respectivo arquivo é aberto, os dados copiados, o arquivo é salvo e fechado em seguida. Finalmente, é salvo o arquivo Gestores.xlsm e apresentada a mjensagem de Sucesso na cópia dos dados.

Fiz todos os testes com o arquivo Bauru.xlsm e não tive nenhum problema. Espero que seja isso.

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 : 26/12/2013 2:11 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde meu povo !!!!
.
Estou usando uma Macro aqui no trabalho (office 2000), mas ela tá dando erro aqui (Sheets("Inativos2").Range("A2").PasteSpecial Paste:=xlPasteValues) ... veja print !!! ... PS: não aceitou o print .bmp
.
Alguém dá uma luz ???

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

 
Postado : 17/01/2014 9:50 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Ontem o JEduardo fez essa Macro lá na comu, coloquei os arquivos em casa e funcionou perfeitamente !!! ... Hoje ao transporta-la para o arquivo original no trabalho ela tá dando esse erro (????) !!!!!!!

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

 
Postado : 17/01/2014 9:59 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Veja a Macro que funciona no arquivo modelo, mas tá dando erro no arquivo original aqui do trabalho :

Option Explicit

Sub copiarColar()
Application.ScreenUpdating = False

With Workbooks("FOLHA - INATIVO - CONFERÊNCIA - 2014.xls")
With .Worksheets("Inativos1")
.Range("A2:O6000").Copy
Sheets("Inativos2").Range("A2").PasteSpecial Paste:=xlPasteValues
End With
With .Worksheets("Inativos2")
.Range("A2:O6000").Copy
Sheets("Inativos2").Range("R2").PasteSpecial Paste:=xlPasteValues
End With
With .Worksheets("Pensoes1")
.Range("A2:O2000").Copy
Sheets("Pensões2").Range("A2").PasteSpecial Paste:=xlPasteValues
End With
With .Worksheets("Pensoes2")
.Range("A2:O2000").Copy
Sheets("Pensões2").Range("R2").PasteSpecial Paste:=xlPasteValues
End With
End With

Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

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

 
Postado : 17/01/2014 10:02 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Ufa !!! .. Consegui resolver ... era o nome da Aba que estava diferente !!! ... Valeu !!!

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

 
Postado : 17/01/2014 10:35 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Caso seja necessário reabrir o tópico, o autor poderá enviar uma MP para um dos moderadores solicitando o desbloqueio.

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

 
Postado : 17/01/2014 3:02 pm
Página 2 / 2