Bom dia.
Tenho 2 planilhas, onde uma delas seria a Origem (BASE DE CARGA Moeda 17 vs Bloco G - PARAMETRO - Copia.xlsx), tenho informações que devem ser levadas para outra planilha Destino (BASE DE CARGA GERAL - CONSOLIDACAO - Copia.xlsm).
Nesta planilha chamada de Destino tenho algumas formulas que devem ser mantidas para ter ao final um resultado em TXT formatado (layout).
Queria uma ajuda em colocar um botão na planilha Destino, e quando acionado pegar as informações das colunas da planilha Origem.
Lembrando que na planilha Origem varia a qtde de linhas e quando copiado para a Destino deve obedecer e copiar todas as linhas da coluna.
Achei material e fiz, porém copiando a planilha todas, e queria sim copiando por colunas.
Fico no aguardo de uma ajuda
Obrigado.
Altere o intervalo no código que você copiou de outro tópico:
'selecionando o intervalo doador ThisWorkbook.Sheets("Plan1").Range("H2:H" & ulinha & ",K2:K" & ulinha & ",M2:M" & ulinha & ",W2:W" & ulinha & ",X2:X" & ulinha & ",Y2:Y" & ulinha & ",O2:O" & ulinha & ",P2:P" & ulinha & ",J2:J" & ulinha & ",S2:S" & ulinha & ",A2:A" & ulinha & ",AI2:AI" & ulinha & ",AJ2:AJ" & ulinha).Select
http://www.planilhando.com.br/forum/viewtopic.php?f=10&t=27185
Na parte da planilha doadora,
Onde está "Plan1", escreva o nome da sua planilha ("Exportar Dados")
Na parte da planilha receptora,
Onde está "Plan1", escreva o nome da sua planilha ("GERAL")
Para quem for responder, saiba que ele já fez a mesma pergunta em outro fórum:
Não deu certo. Erro ao executar
A planilha que vai receber os dados seria a BASE DE CARGA GERAL - CONSOLIDACAO - Copia.xlsm, ela seria a receptora não?
Já no caso a planilha BASE DE CARGA Moeda 17 vs Bloco G - PARAMETRO - Copia.xlsx seria a doadora, pois os dados contidos estão nelas e devem ser copiados para a outra
Obrigado.
Envie o código que deu erro e explique qual foi o erro.
Consegui desenrolar alguma coisa, porém da erro agora na linha marcada abaixo, que não consigo acertar.
Option Explicit Sub Importar_Dados() ' ' Importar_Dados Macro ' Importar dados da planilha doadora Dim PlanReceptora As Workbook Dim PlanDoadora As Workbook Dim NRLinhas As Integer Workbooks.Open (ThisWorkbook.Path & "BASE DE CARGA Moeda 17 vs Bloco G - PARAMETRO.xlsx") Set PlanDoadora = ActiveWorkbook NRLinhas = Worksheets("Exportar Dados").Range("A:A").Cells.SpecialCells(xlCellTypeConstants).Count 'Importar Coluna A (FILIAL) Sheets("Exportar Dados").Range("A2:A" & NRLinhas).Select Selection.Copy Workbooks.Open (ThisWorkbook.Path & "BASE DE CARGA GERAL - CONSOLIDACAO - Copia.xlsm") Set PlanReceptora = ActiveWorkbook PlanReceptora.Activate PlanReceptora.Sheets("GERAL").Select PlanReceptora.Sheets("GERAL").Range("A5").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False 'Importar Coluna C (ID) '-------------------------------------------------Erro a partir da linha abaixo Sheets("Exportar Dados").Range("C2:C" & NRLinhas).Select Selection.Copy Workbooks.Open (ThisWorkbook.Path & "BASE DE CARGA GERAL - CONSOLIDACAO - Copia.xlsm") Set PlanReceptora = ActiveWorkbook PlanReceptora.Activate PlanReceptora.Sheets("GERAL").Select PlanReceptora.Sheets("GERAL").Range("B5").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Range("C2:C" & NRLinhas).NumberFormat = "0" 'Salvar Planilha PlanReceptora.Save PlanDoadora.Close savechanges:=False 'LOG MsgBox "Importação concluída" & vbCr & "Copiados: " & NRLinhas & " Filial(s)" & vbCr & vbCr & "Copiados: " & NRLinhas & " ID(s)", vbInformation, "Importação de dados" End Sub
kalaricco,
Boa tarde!
Solicitamos, por gentileza, nas suas próximas postagens de código VBA aqui no fórum, utilizar a ferramenta CODE existente logo acima da janela de mensagens. Edite a sua mensagem e veja como fiz na sua mensagem.
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
Este código deverá ser colocado na Pasta Receptora:
Option Explicit Sub Importar_Dados() Application.ScreenUpdating = False ' ' Importar_Dados Macro ' Importar dados da planilha doadora Dim PlanReceptora As Workbook Dim PlanDoadora As Workbook Dim NRLinhas As Integer Workbooks.Open (ThisWorkbook.Path & "BASE DE CARGA Moeda 17 vs Bloco G - PARAMETRO.xlsx") Set PlanDoadora = ActiveWorkbook NRLinhas = Worksheets("Exportar Dados").Range("A:A").Cells.SpecialCells(xlCellTypeConstants).Count 'Importar Coluna A (FILIAL) PlanDoadora.Sheets("Exportar Dados").Range("A2:A" & NRLinhas).Select Selection.Copy 'Workbooks.Open (ThisWorkbook.Path & "BASE DE CARGA GERAL - CONSOLIDACAO - Copia.xlsm") Set PlanReceptora = ThisWorkbook PlanReceptora.Activate PlanReceptora.Sheets("GERAL").Select PlanReceptora.Sheets("GERAL").Range("A5").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False 'Importar Coluna C (ID) '-------------------------------------------------Erro a partir da linha abaixo PlanDoadora.Activate PlanDoadora.Sheets("Exportar Dados").Range("C2:C" & NRLinhas).Select Selection.Copy 'Workbooks.Open (ThisWorkbook.Path & "BASE DE CARGA GERAL - CONSOLIDACAO - Copia.xlsm") 'Set PlanReceptora = ThisWorkbook PlanReceptora.Activate PlanReceptora.Sheets("GERAL").Select PlanReceptora.Sheets("GERAL").Range("B5").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False 'Range("C2:C" & NRLinhas).NumberFormat = "0" 'Salvar Planilha PlanReceptora.Save PlanDoadora.Close savechanges:=False Application.ScreenUpdating = True 'LOG MsgBox "Importação concluída" & vbCr & "Copiados: " & NRLinhas & " Filial(s)" & vbCr & vbCr & "Copiados: " & NRLinhas & " ID(s)", vbInformation, "Importação de dados" End Sub
Vlw amigo.