Boa tarde,
Pretendo copiar várias células de vários ficheiros excel que tenho num directório para uma planilha.
Exemplo:
Do ficheiro 20080003.xls quero copiar a celula G16 e copiar para a celula A1 da nova planilha, copiar a celula E22 e colocar na celula B1.
Do ficheiro 20080004.xls "" A2 "" B2.
Encontrei uma macro em outro forum, mas tenho alguns problemas:
Sub ImportarDados()
Dim fs, f, f1, fc
Dim Pasta As String
Dim Coluna As Integer
'Abre uma caixa de diálogo para possibilitar a seleção de uma pasta
Application.FileDialog(msoFileDialogFolderPicker).Show
Pasta = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder(Pasta)
Set fc = f.Files
'Variável para controlar a coluna na qual será efetuada a cópia
Coluna = 1
For Each f1 In fc
'Verifica a extensão do arquivo
If Right(f1.Name, 3) = "xls" Then
'Abre o arquivo Excel
Workbooks.Open f1.Name
'Seleciona a Plan1
Sheets("Plan1").Select
'Faz a cópia
ActiveSheet.Range("G16").Copy ThisWorkbook.Sheets("Plan1").Cells(1, Coluna)
'incrementa o número da coluna
Coluna = Coluna + 1
'Fecha o arquivo Excel
Workbooks(f1.Name).Close SaveChanges:=False
End If
Next
End Sub
Esta macro funciona para mim, mas quando copia para a nova planilha em vez de ir adicionando linhas, adiciona colunas... Cola em A1,B1,C1... e quero em A1, A2, A3...
Outro problema quando a macro abre o ficheiro eu tenho de colocar sempre a mesma password, da para automatizar e colocar sempre a mesma?
Resumindo:
Quero adaptar esta macro para colocar os dados em varias linhas em vez de colunas.
Quero que ela copie mais que um dado.
Quero que ela coloque sempre a mesma password na caixa de dialogo que aparece quando abro os ficheiros.
Obrigado,
Diogo Simões
Postado : 23/03/2013 12:46 pm