| 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... |
| | Copiando dados de uma planilha para outra via VBA [RESOLVIDO] | |
| | Autor | Mensagem |
---|
clqdo
Mensagens : 5 Data de inscrição : 27/09/2011
| Assunto: Copiando dados de uma planilha para outra via VBA [RESOLVIDO] Ter Set 27, 2011 4:49 pm | |
| Amigos, preciso copiar os dados das colunas de uma planilha para as colunas de outra, sendo que as colunas não coincidem. Suponhamos que tenhos em Plan1 o seguinte: Gostaria de transpor para Plan2 com a seguinte disposição: Lembrando que é apenas um exemplo, pois preciso fazer isso em 40 colunas de 5.000 linhas. Tentei fazer um loop, mas não consegui. Grato.
Última edição por clqdo em Qui Out 20, 2011 8:56 pm, editado 1 vez(es) | |
| | | alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Copiando dados de uma planilha para outra via VBA [RESOLVIDO] Qua Set 28, 2011 12:45 am | |
| Boa noite!!! Para melhorar a possibilidade do pessoal te ajudar seria melhor postar um exemplo em site gratuito... ...4Shared...Spacesend.etc No seu arquivo modelo dê as informações exatas do que precisa. - Citação :
- embrando que é apenas um exemplo, pois preciso fazer isso em 40 colunas de 5.000 linhas.
Att.. | |
| | | clqdo
Mensagens : 5 Data de inscrição : 27/09/2011
| Assunto: Re: Copiando dados de uma planilha para outra via VBA [RESOLVIDO] Qua Set 28, 2011 1:27 am | |
| - alexandrevba escreveu:
- Boa noite!!!
Para melhorar a possibilidade do pessoal te ajudar seria melhor postar um exemplo em site gratuito... ...4Shared...Spacesend.etc
No seu arquivo modelo dê as informações exatas do que precisa.
- Citação :
- embrando que é apenas um exemplo, pois preciso fazer isso em 40 colunas de 5.000 linhas.
Att.. Ok, Alexandre. As planilhas se encontram aqui: 4shared.com/file/ZuZqLCt9/Documents.html (favor copiar o link e colar no navegador, porque o forum não permite que novos usuários enviem links) Explicação: As planilhas referem-se a um controle de uma rifa. Assim como a planilha 1.xls, tenho mais seis, totalizando sete planilhas onde serão preenchidas, marcando um "x" para cada cartela vendida e ao lado da cartela o nome do vendedor, mas isso não importa no momento. A planilha BD.xls seria a planilha para onde eu transportaria os valores das outras sete, consolidando-os. Assim, preciso transportar os valores dos intervalos B3:B5002, F3:F5002, J3:J5002, N3:N5002 e assim por diante até AL3:AL5002 para a planilha BD.xls nos intervalos B3:B5002, K3:K5002, T3:T5002, AC3:AC5002 até CE3:CE5002. Tentei fazer um For...Next com Step 4 para copiar os dados de 1.xls e colar na BD.xls com Step 10, mas não deu certo. Obrigado pela ajuda. | |
| | | alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Copiando dados de uma planilha para outra via VBA [RESOLVIDO] Qua Set 28, 2011 3:32 am | |
| Boa noite!!!
Deixa eu ver se entendi....
Eu posso ter na Plan1 de B3:B5002, Plan2 de B3:B5002, Plan3 de B3:B5002....etc..para a Plan BD.?
Att... | |
| | | clqdo
Mensagens : 5 Data de inscrição : 27/09/2011
| Assunto: Re: Copiando dados de uma planilha para outra via VBA [RESOLVIDO] Qua Set 28, 2011 3:49 am | |
| - alexandrevba escreveu:
- Boa noite!!!
Deixa eu ver se entendi....
Eu posso ter na Plan1 de B3:B5002, Plan2 de B3:B5002, Plan3 de B3:B5002....etc..para a Plan BD.?
Att... Não, Alexandre, em 1.xls só há Plan1 e somente os intervalos que eu falei é que quero levar para BD.xls. Quando abri o tópico falei hipoteticamente de ambos serem na mesma planilha, mas na realidade você viu que há duas (1.xls e BD.xls). Quero levar de 1.xls, os intervalos B3:B5002, F3:F5002, J3:J5002, N3:N5002 e assim por diante até AL3:AL5002 para a planilha BD.xls nos intervalos B3:B5002, K3:K5002, T3:T5002, AC3:AC5002 até CE3:CE5002. Todo o problema consiste em que eu não consegui fazer uma macro que copiasse os valores desses intervalos (que tem um Step igual a 4) para os intervalos de BD.xls (que tem um Step igual a 10), pois em 1.xls tenho valores na coluna B, F, J, etc e em BD.xls quero colar em B, K, T, etc. PS: Quando falo em Step, falo da propriedade do Loop For...Next, em que posso definir um Step. Grato pela ajuda, meu camarada. | |
| | | alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Copiando dados de uma planilha para outra via VBA [RESOLVIDO] Qui Set 29, 2011 2:31 am | |
| Boa noite!!! Veja se assim te ajuda... - Código:
-
Sub Copiar_Dados() Dim wsOrigem As Worksheet Dim wsDestino As Worksheet 'Arquivo Destino, abrimos primeiro 'Ajuste o caminho do mesmo Workbooks.Open Filename:="C:\Documents and Settings\....\Master.xls" 'Arquivos e Abas de Origem e Destino Set wsOrigem = Workbooks("1.xls").Worksheets("Plan1") Set wsDestino = Workbooks("BD.xls").Worksheets("Plan1") With wsOrigem .Range("B2:B500").Copy Destination:=wsDestino.Range("B2") .Range("F2:F500").Copy Destination:=wsDestino.Range("K2") .Range("J2:J500").Copy Destination:=wsDestino.Range("T2") End With 'Fecha o Arquivo Destino e Salva Workbooks("BD.xls").Close SaveChanges:=True MsgBox "Introdução de Dados Concluída" End Sub
Dê retorno... Att.... | |
| | | clqdo
Mensagens : 5 Data de inscrição : 27/09/2011
| Assunto: Re: Copiando dados de uma planilha para outra via VBA [RESOLVIDO] Sáb Out 15, 2011 2:56 pm | |
| Alexandre, deu certo sim, desenvolvi a partir do seu código. Eu estava pensando bastante em como fazer através de um loop, mas como não tinha tempo, fiz como você propôs. Fis algumas modificações e de certa forma atendeu.
Uma das modificações que me ajudou bastante foi refazer o código para abertura das planilhas, pois como eles irão "andar" em vários computadores, introduzi um método para que ele puxasse o diretório das planilhas:
Workbooks.Open Filename:=ThisWorkbook.Path & "\1.xls"
Obrigado pela ajuda.
Abraço. | |
| | | alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Copiando dados de uma planilha para outra via VBA [RESOLVIDO] Dom Out 16, 2011 2:05 pm | |
| Bom dia!!! Fico feliz por você ter resolvido o seu problema..coloque o tópico como [RESOLVIDO] Abraços...até a próxima Att.. | |
| | | clqdo
Mensagens : 5 Data de inscrição : 27/09/2011
| Assunto: Re: Copiando dados de uma planilha para outra via VBA [RESOLVIDO] Ter Out 18, 2011 3:31 am | |
| - alexandrevba escreveu:
- Bom dia!!!
Fico feliz por você ter resolvido o seu problema..coloque o tópico como [RESOLVIDO]
Abraços...até a próxima
Att.. Acho que não posso colocar o tópico como [RESOLVIDO]. Não encontrei como editar o tópico. | |
| | | alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: RESOLVIDO Ter Out 18, 2011 3:42 am | |
| No titulo coloque como [RESOLVIDO] | |
| | | dlz140
Mensagens : 4 Data de inscrição : 11/12/2013
| Assunto: Problemas na criação de tabela. Qua Dez 11, 2013 10:52 pm | |
| Antes de mais nada quero pedir desculpas caso esteja pedindo ajuda no lugar errado, é a primeira vez que uso o fórum. Geralmente consigo resolver os problemas apenas com exemplos e adaptando os códigos na minha necessidade, mas desta vez não estou conseguindo, sou bem persistente e só peço ajuda quando realmente não sei mais o que fazer. Será um tanto complicado explicar o que preciso, mas vou tentar de uma forma bem simples. Tenho uma planilha que uso como modelo, nesta planilha tem diversas abas com tudo o que preciso, para não precisar ficar copiando e colando para cada cliente, na tela principal digito o nome do cliente, do responsável e o telefone, criei um botão que seria um "salvar como..." que pega o nome do cliente e salva numa pasta. Cada cliente tem sua planilha e são alteradas diariamente. Até aí tudo bem. Agora preciso criar outra tabela que pegue os valores da aba (ref) destas tabelas para saber quem está com pendencias. Usei o código (copiando dados de uma planilha para outra via VBA) no mesmo botão que salva as planilhas na pasta, está criando as tabelas e também inserindo os valores da aba (ref) na planilha Pendentes, uma linha após a outra perfeito, agora vem o meu problema, o código copia mas as planilhas são alteradas diariamente e a planilha Pendentes não se atualiza. Teria uma solução pra isso? Por mim teria feito em Access ou Delphi mas infelizmente preciso fazer isso em Excel. Desculpa se está confuso, sei que está, mas além de não conseguir resolver também não sei como explicar. Vou deixar o código do botão que estou usando, quem sabe ameniza um pouco minha ignorância em relatar o problema. - Código:
-
Sub salvar_como() Private Sub CommandButton1_Click()
Dim lngLastRow As Long Dim wksOri As Worksheet Dim wkbDes As Workbook Dim wksDes As Worksheet With ThisWorkbook Set wksOri = ThisWorkbook.Worksheets("Ref") Set wkbDes = Workbooks.Open("D:\Gerenciamento_Facovi\Dados\Pendentes") Set wksDes = wkbDes.Worksheets("dados") End With lngLastRow = wksDes.Cells(wksDes.Rows.Count, "D").End(xlUp).Row + 1 wksDes.Cells(lngLastRow, "D") = wksOri.Range("=Ref!C2") 'Cliente wksDes.Cells(lngLastRow, "F") = wksOri.Range("=Ref!L2") 'Valor Débito wksDes.Cells(lngLastRow, "H") = wksOri.Range("=Ref!I2") 'Fone wksDes.Cells(lngLastRow, "J") = wksOri.Range("=Ref!F2") 'Contato Application.ScreenUpdating = True wkbDes.Close SaveChanges:=True
If Range("D27") = ("") Then
MsgBox "Inserir um nome para cliente." Exit Sub Else CommandButton1.Enabled = False Dim sTempPath As String sTempPath = "D:\Gerenciamento_Facovi\Cadastrados\" ActiveWorkbook.SaveAs Filename:=sTempPath & Range("D27").Value & ".xlsm" _ , FileFormat:=52, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False End If Range("D27") = ("") Range("D30") = ("") Range("D33") = ("") Range("D27").Select Application.Quit Application.DisplayAlerts = False
End Sub | |
| | | alexandrevba
Mensagens : 1820 Data de inscrição : 13/07/2011 Localização : Serra - ES
| Assunto: Re: Copiando dados de uma planilha para outra via VBA [RESOLVIDO] Qua Dez 11, 2013 11:56 pm | |
| Boa noite!! favor abrir sua própria postagem!!!!!!! Att | |
| | | Conteúdo patrocinado
| Assunto: Re: Copiando dados de uma planilha para outra via VBA [RESOLVIDO] | |
| |
| | | | Copiando dados de uma planilha para outra via VBA [RESOLVIDO] | |
|
Tópicos semelhantes | |
|
| Permissões neste sub-fórum | Não podes responder a tópicos
| |
| |
| |
|