Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Importar dados de uma planilha para outra
-
- Colaborador
- Mensagens: 12
- Registrado em: Ter Jun 24, 2014 9:03 am
Importar dados de uma planilha para outra
Boa tarde.
Estou precisando de uma macro para importar os dados de uma planilha para outra que estejam salvas na mesma pasta.
Exemplo: Sempre que eu clicar no botão "importar dados" da planilha "DOCUMENTOS" eu consiga pesquisar, achar a planilha que quero importar e ao clicar nela, seus dados passassem para a planilha "DOCUMENTOS"
Poderiam me ajudar?
Estou precisando de uma macro para importar os dados de uma planilha para outra que estejam salvas na mesma pasta.
Exemplo: Sempre que eu clicar no botão "importar dados" da planilha "DOCUMENTOS" eu consiga pesquisar, achar a planilha que quero importar e ao clicar nela, seus dados passassem para a planilha "DOCUMENTOS"
Poderiam me ajudar?
- Fabio Trindade
- Manda bem
- Mensagens: 161
- Registrado em: Dom Abr 24, 2011 4:07 pm
Re: Importar dados de uma planilha para outra
Boa noite, fabianolordelo
Da uma olhada nesse código.
Da uma olhada nesse código.
Código: Selecionar todos
Private Sub cmdImportExcel_Click()
' import excel file
Dim importFileName As Variant
Dim importWorkbook As Workbook
Dim importSheet As Worksheet
Dim importRange As Range
' show open file dialog
importFileName = Application.GetOpenFilename(FileFilter:="Arquivo do Excel (*.xls; *.xlsx), *.xls;*.xlsx", Title:="Escolha um arquivo do Excel")
' if user pressed cancel buton: exit
If importFileName = False Then Exit Sub
Application.ScreenUpdating = False
' if user selected a excel file, open it
Set importWorkbook = Application.Workbooks.Open(importFileName)
Set importSheet = importWorkbook.Worksheets(1)
' copy from import sheet
Set importRange = importSheet.Range( _
importSheet.Range("A2"), _
importSheet.Range("I" & importSheet.Rows.Count).End(xlUp) _
)
importRange.Copy
' paste into Data sheet
SheetData.Range("A1").PasteSpecial xlValues
SheetData.Range("A1").PasteSpecial xlPasteFormats
Application.CutCopyMode = False
importWorkbook.Close
End Sub
Re: Importar dados de uma planilha para outra
Olá, coloquei esse código acima na minha planilha, no entanto, dá erro 424 Object Required na linha DataSheet...
Alguém poderia ajudar? Sei que esse post é muito antigo, então vou ficar na espectativa de alguém ainda vir ler por aqui, obrigado.
Alguém poderia ajudar? Sei que esse post é muito antigo, então vou ficar na espectativa de alguém ainda vir ler por aqui, obrigado.
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: Importar dados de uma planilha para outra
Dificil auxiliar pela info passada. Não localizei na rotina qualquer linha com DataSheet..
Agora se refere-se ao trecho
a referencia SheetData.Range deve ser alterada de acordo com o nome de sua planilha "recebedora" dos dados
Agora se refere-se ao trecho
Código: Selecionar todos
...' paste into Data sheet
SheetData.Range("A1").PasteSpecial xlValues
SheetData.Range("A1").PasteSpecial xlPasteFormats...
Re: Importar dados de uma planilha para outra
Reinaldo, obrigado pelo seu comentário. Eu tentei colocar o nome da planilha, mas aí aparece um erro 9 dizendo: Subscript Out of Range.Reinaldo escreveu: ↑Qui Dez 06, 2018 7:00 am Dificil auxiliar pela info passada. Não localizei na rotina qualquer linha com DataSheet..
Agora se refere-se ao trechoa referencia SheetData.Range deve ser alterada de acordo com o nome de sua planilha "recebedora" dos dadosCódigo: Selecionar todos
...' paste into Data sheet SheetData.Range("A1").PasteSpecial xlValues SheetData.Range("A1").PasteSpecial xlPasteFormats...
O código que estou usando é esse (tive que tirar de Private Sub porque não estava sabendo como fazer isso funcionar):
Código: Selecionar todos
Sub cmdImportFlatALL_Click()
' import excel file
Dim importFileName As Variant
Dim importWorkbook As Workbook
Dim importSheet As Worksheet
Dim importRange As Range
' show open file dialog
importFileName = Application.GetOpenFilename(FileFilter:="Arquivo do Excel (*.xls; *.xlsx; *.xlsb), *.xls;*.xlsx;*.xlsb", Title:="Escolha um arquivo do Excel")
' if user pressed cancel buton: exit
If importFileName = False Then Exit Sub
Application.ScreenUpdating = False
' if user selected a excel file, open it
Set importWorkbook = Application.Workbooks.Open(importFileName)
Set importSheet = importWorkbook.Worksheets(3)
' copy from import sheet
Set importRange = importSheet.Range(importSheet.Range("A1"), importSheet.Range("AK" & importSheet.Rows.Count).End(xlUp))
importRange.Copy
' paste into Data sheet
Sheets("EUR - Flat-ALL").Range("C10").PasteSpecial xlValues
Sheets("EUR - Flat-ALL").Range("C10").PasteSpecial xlPasteFormats
Application.CutCopyMode = False
importWorkbook.Close
End Sub
Obrigado de antemão pela ajuda.
- Reinaldo
- Jedi
- Mensagens: 1537
- Registrado em: Sex Ago 01, 2014 4:09 pm
- Localização: Garça - SP / SCS - SP
Re: Importar dados de uma planilha para outra
Experimente assim:
Código: Selecionar todos
Sub cmdImportFlatALL_Click()
' import excel file
Dim importFileName As Variant
Dim importWorkbook As Workbook
Dim importSheet As Worksheet
Dim importRange As Range
Dim wb As Workbook
Dim sh As Worksheet
'Determina o arquivo onde sera colado os dados
Set wb = ThisWorkbook
Set sh = wb.ActiveSheet
' show open file dialog
importFileName = Application.GetOpenFilename(FileFilter:="Arquivo do Excel (*.xls; *.xlsx; *.xlsb), *.xls;*.xlsx;*.xlsb", Title:="Escolha um arquivo do Excel")
' if user pressed cancel buton: exit
If importFileName = False Then Exit Sub
Application.ScreenUpdating = False
' if user selected a excel file, open it
Set importWorkbook = Application.Workbooks.Open(importFileName)
Set importSheet = importWorkbook.Worksheets(3)
' copy from import sheet
Set importRange = importSheet.Range(importSheet.Range("A1"), importSheet.Range("AK" & importSheet.Rows.Count).End(xlUp))
MsgBox importRange.Address
importRange.Copy
' paste into Data sheet
wb.Activate
sh.Range("C10").PasteSpecial xlValues
sh.Range("C10").PasteSpecial xlPasteFormats
Application.CutCopyMode = False
importWorkbook.Close
End Sub
-
- Acabou de chegar
- Mensagens: 1
- Registrado em: Qui Abr 11, 2019 2:03 pm
Re: Importar dados de uma planilha para outra
boa tarde.
estou tentando usar este mesmo código, e está dando erro de subscript out of range na linha:
Set importSheet = importWorkbook.Worksheets(3)
a diferença é que vinculei o script a um botão, e o conteúdo do arquivo que eu escolhi vai para uma outra sheet, ou seja, possuo multiplas sheets dentro do meu arquivo excel.
estou tentando usar este mesmo código, e está dando erro de subscript out of range na linha:
Set importSheet = importWorkbook.Worksheets(3)
a diferença é que vinculei o script a um botão, e o conteúdo do arquivo que eu escolhi vai para uma outra sheet, ou seja, possuo multiplas sheets dentro do meu arquivo excel.
Re: Importar dados de uma planilha para outra
-----lnunes.eng escreveu: ↑Qui Abr 11, 2019 2:06 pm boa tarde.
estou tentando usar este mesmo código, e está dando erro de subscript out of range na linha:
Set importSheet = importWorkbook.Worksheets(3)
a diferença é que vinculei o script a um botão, e o conteúdo do arquivo que eu escolhi vai para uma outra sheet, ou seja, possuo multiplas sheets dentro do meu arquivo excel.
Utilize:
Set importSheet = importWorkbook.Worksheets(1)
Provavelmente dará certo.
-
- Acabou de chegar
- Mensagens: 8
- Registrado em: Qui Jul 08, 2021 12:07 pm
Re: Importar dados de uma planilha para outra
Bom dia! Reinaldo o no caso de importa dados entre tabelas da mesma planilha. Vc teria um codigo ?
A sutiação é a seguinte: Tenho um tabela dinamica e quero enviar os info para outra tabela planilha, mais que seja de forma automatica sem precisa criar algum botão.
A sutiação é a seguinte: Tenho um tabela dinamica e quero enviar os info para outra tabela planilha, mais que seja de forma automatica sem precisa criar algum botão.