Notifications
Clear all

importar arquivo de outra planilha

2 Posts
2 Usuários
0 Reactions
740 Visualizações
(@felipe-barros)
Posts: 1
New Member
Topic starter
 

Alguém aqui pode me ajudar com esse meu código?

Eu quero que ele importe sempre para a ultima linha vazia.

vou mandar o código aqui abaixo,

Private Sub Importar_Click()

Dim caminho As Variant

Dim este As Workbook, outro As Workbook

caminho = Application.GetOpenFilename

If caminho = False Then

MsgBox "PROCESSO ABORTADO. NÃO FOI SELECIONADO ARQUIVOS...", vbInformation, "IMPORTAÇÃO CANCELADA"

Exit Sub

End If

Workbooks.Open caminho, , True

Set este = ThisWorkbook

Set outro = ActiveWorkbook

Application.DisplayAlerts = False

outro.Sheets(1).Range("a1").CurrentRegion.Copy

Planilha2.Range("A1").PasteSpecial

MsgBox "PROCESSO CONCLUIDO COM SUCESSO.", vbInformation, "ARQUIVOS IMPORTADOS"

outro.Close False

End Sub

 

 
Postado : 24/01/2023 9:53 pm
Felipe Ecks
(@ecks)
Posts: 48
Trusted Member
 

Há alguns erros e melhorias que podem ser feitas:

  1. A linha "Workbooks.Open caminho, , True" deve ser alterada para "Set outro = Workbooks.Open(caminho)" para que você possa definir a variável outro como o a pasta de trabalho aberta.
  2. A linha "Planilha2.Range("A1").PasteSpecial" deve ser alterada para "este.Sheets("Planilha2").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial" para que a cópia seja colada na última linha vazia.
  3. Adicionar uma linha "Application.CutCopyMode = False" após "este.Sheets("Planilha2").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial" para limpar a área de transferência.
  4. Adicionar uma linha "Application.DisplayAlerts = True" após "outro.Close False" para garantir que as configurações de alerta do Excel sejam restauradas.
  5. Adicionar uma linha " este.Activate" após "outro.Close False" para garantir que a pasta de trabalho ativa seja a pasta corrente.

 

Segue código:

Private Sub Importar_Click()
Dim caminho As Variant
Dim este As Workbook, outro As Workbook
caminho = Application.GetOpenFilename

If caminho = False Then
MsgBox "PROCESSO ABORTADO. NÃO FOI SELECIONADO ARQUIVOS...", vbInformation, "IMPORTAÇÃO CANCELADA"
Exit Sub
End If

Set outro = Workbooks.Open(caminho)
Set este = ThisWorkbook
Application.DisplayAlerts = False
outro.Sheets(1).Range("a1").CurrentRegion.Copy
este.Sheets("Planilha2").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial
Application.CutCopyMode = False

MsgBox "PROCESSO CONCLUIDO COM SUCESSO.", vbInformation, "ARQUIVOS IMPORTADOS"

outro.Close False
Application.DisplayAlerts = True
este.Activate

End Sub
 
Postado : 26/01/2023 7:15 am