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...
 
InícioInício  FAQFAQ  BuscarBuscar  MembrosMembros  GruposGrupos  Registrar-seRegistrar-se  Login  

Compartilhe | 
 

 Copiando dados de uma planilha para outra via VBA [RESOLVIDO]

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
clqdo



Mensagens : 5
Data de inscrição : 27/09/2011

MensagemAssunto: 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)
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: 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..
Voltar ao Topo Ir em baixo
Ver perfil do usuário
clqdo



Mensagens : 5
Data de inscrição : 27/09/2011

MensagemAssunto: 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.
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: 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...
Voltar ao Topo Ir em baixo
Ver perfil do usuário
clqdo



Mensagens : 5
Data de inscrição : 27/09/2011

MensagemAssunto: 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.
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: 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....
Voltar ao Topo Ir em baixo
Ver perfil do usuário
clqdo



Mensagens : 5
Data de inscrição : 27/09/2011

MensagemAssunto: Re: Copiando dados de uma planilha para outra via VBA [RESOLVIDO]   Sab 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.
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: 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 Wink

Att..
Voltar ao Topo Ir em baixo
Ver perfil do usuário
clqdo



Mensagens : 5
Data de inscrição : 27/09/2011

MensagemAssunto: 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 Wink

Att..

Acho que não posso colocar o tópico como [RESOLVIDO]. Não encontrei como editar o tópico.
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: RESOLVIDO   Ter Out 18, 2011 3:42 am



No titulo coloque como [RESOLVIDO]

Neutral
Voltar ao Topo Ir em baixo
Ver perfil do usuário
dlz140



Mensagens : 4
Data de inscrição : 11/12/2013

MensagemAssunto: 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
Voltar ao Topo Ir em baixo
Ver perfil do usuário
alexandrevba



Mensagens : 1820
Data de inscrição : 13/07/2011
Localização : Serra - ES

MensagemAssunto: 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!!!!!!! Mad  Mad 


Att
Voltar ao Topo Ir em baixo
Ver perfil do usuário
Conteúdo patrocinado




MensagemAssunto: Re: Copiando dados de uma planilha para outra via VBA [RESOLVIDO]   Hoje à(s) 8:58 pm

Voltar ao Topo Ir em baixo
 
Copiando dados de uma planilha para outra via VBA [RESOLVIDO]
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» [Resolvido] Como ir para outra room sem parar os acontecimentos atuais?
» Redirecionamento para outra página
» "Atalho" para outra página
» Desviar visitas para outra url
» Redirecionar banidos para outra pagina de meu desejo

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Fórum Excel Bácico, Avançado e Vba :: Avançado/VBA :: Excel Avançado/VBA-
Ir para: