Notifications
Clear all

Macro importar vários arquivos

3 Posts
2 Usuários
0 Reactions
1,700 Visualizações
(@bioadmin)
Posts: 3
Active Member
Topic starter
 

Galera, preciso de uma ajuda, estou quebrando a cabeça e não estou conseguindo continuar na macro...
Eu preciso de uma macro para copiar dados de vários arquivos em excel que estão em um mesma pasta e importar para uma outra planilha, um dos problemas é que os dados da planilha origem estão em posições distintas, pois este arquivo serve como uma folha de rosto para preenchimento de alguns dados cadastrais de clientes, na planilha de destino os dados ficam um abaixo do outro. Alguém tem alguma dica são mais de 400 arquivos mês, a pessoa que fazia antes copiava e colava dezenas de informações em único arquivo e acho isso muita perda de tempo.
O máximo que consegui fazer até agora foi esta macro:

Sub Importar()
Dim customerBook As Workbook
Dim filter As String
Dim caption As String
Dim customerFilename As String
Dim customerWorkbook As Workbook
Dim targetWorkbook As Workbook
Set targetWorkbook = Application.ActiveWorkbook
filter = "Text files (*.xls),*.xls"
caption = "Favor inserir um arquivo "
customerFilename = Application.GetOpenFilename(filter, , caption)
Set customerWorkbook = Application.Workbooks.Open(customerFilename)
Dim targetSheet As Worksheet
Set targetSheet = targetWorkbook.Worksheets(1)
Dim sourceSheet As Worksheet

Set sourceSheet = customerWorkbook.Worksheets(1)

targetSheet.Range("C2").Value = sourceSheet.Range("AB134").Value
targetSheet.Range("e2").Value = sourceSheet.Range("G64").Value
targetSheet.Range("F2").Value = sourceSheet.Range("N19").Value
targetSheet.Range("G2").Value = sourceSheet.Range("X19").Value
targetSheet.Range("H2").Value = sourceSheet.Range("W7").Value
targetSheet.Range("I2").Value = sourceSheet.Range("X3").Value
targetSheet.Range("J2").Value = sourceSheet.Range("D19").Value
targetSheet.Range("K2").Value = sourceSheet.Range("F7").Value

customerWorkbook.Close
End Sub

Existem muito mais informações para copiar, mas exclui para não ficar muito grande aqui, o problema desta macro é que ela abre um arquivo por vez.

Abraços

 
Postado : 08/03/2014 3:21 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde!!

Eu não entendi muito bem, mas se seu problema é abrir vários arquivos em mesmo diretório, tente.

Option Explicit

Sub AleVBA_10900()
    Dim path As Variant
    Dim excelfile As Variant
    path = "C:UsersalexandreDownloads"
    ChDir path
    excelfile = Dir("*.xls")
    Do While excelfile <> ""
        Workbooks.Open Filename:=path & excelfile
        excelfile = Dir
    Loop
End Sub

Att

 
Postado : 09/03/2014 2:19 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Veja em :
viewtopic.php?f=10&t=7207&hilit=*consoli*
e/ou
viewtopic.php?f=10&t=9837&hilit=+*consoli*&start=10
Creio ser o que deseja, basta adaptar

 
Postado : 10/03/2014 1:16 pm