Notifications
Clear all

COPIAR Abas de outras planilhas

4 Posts
1 Usuários
0 Reactions
828 Visualizações
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde, tenho 99 arquivos com diversas abas e preciso copiar um aba de cada arquivo (tem o mesmo nome e padrão) e colar em uma nova planilha dentro de uma mesma aba. Para isso preciso que as copias sejam feitas lado a lado ou seja, os dados a serem copiados estão na aba "3 - Resultados-Produtos" dentro de arquivos com o nome "xxxx2017_C1.4_RELAT01 - ciclo 99_2000.xls" Células A12:H118 e serão copiados da seguinte forma, a primeira planilha ira ocupar o range A1:H107 e os dados da próxima planilha serão colados no range I1:P107. antes de copiar os dados da planilha original a macro deve ler a informação que esta na aba Plan1 da planilha destino e copiar a célula B1 e colar na célula H12 da planilha origem para posterior identificação dos dados, o nome de cada planilha a ser aberta também deve ser lida da aba nomes da planilha destino e estão na coluna A então é necessário estar em um loop para ler a celula a A1 executar a copia/cola e depois fazer tudo de novo para a planilha cujo nome esta na célula A2 e assim por diante. Eu fiz o seguinte,(anexo) porem não funciona como eu gostaria.
Obs: todos os arquivos estão em um mesmo diretório no computador.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 23/10/2017 11:38 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!!

Chaulin, eu já demonstrei como fazer algo assim, use a pesquisa do fórum!!

Recomendo fortemente:
https://www.rondebruin.nl/win/s3/win008.htm

Veja:
https://cse.google.com.br/cse?cx=partne ... dados+de+vários+arquivos&siteurl=www.planilhando.com.br%2Fforum%2Fviewforum.php%3Ff%3D10&ref=&ss=6944j3165416j31&oq=cpiar+dados+de+vários+arquivos&gs_l=partner.3...36064.43037.0.43677.30.30.0.0.0.0.300.4455.10j10j9j1.30.0.gsnos%2Cn%3D13...0.6944j3164652j31..1ac.1.25.partner..29.1.47.SFIatUub3q0#gsc.tab=0&gsc.q=copiar%20dados%20de%20v%C3%A1rios%20arquivos%20vba

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 23/10/2017 1:01 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!!

Chaulin, eu já demonstrei como fazer algo assim, use a pesquisa do fórum!!

Recomendo fortemente:
https://www.rondebruin.nl/win/s3/win008.htm

Veja:
https://cse.google.com.br/cse?cx=partne ... dados+de+vários+arquivos&siteurl=www.planilhando.com.br%2Fforum%2Fviewforum.php%3Ff%3D10&ref=&ss=6944j3165416j31&oq=cpiar+dados+de+vários+arquivos&gs_l=partner.3...36064.43037.0.43677.30.30.0.0.0.0.300.4455.10j10j9j1.30.0.gsnos%2Cn%3D13...0.6944j3164652j31..1ac.1.25.partner..29.1.47.SFIatUub3q0#gsc.tab=0&gsc.q=copiar%20dados%20de%20v%C3%A1rios%20arquivos%20vba

Att

Bom dia. Obrigado pela resposta porem ainda não consegui chegar no resultado esperado. O meu gargalo esta na questão do loop onde é necessário que a macro leia o nome do arquivo a ser aberto apartir de uma lista na planilha onde irei inserir os dados. Não sei se consegui ser claro. Desde já agradeço.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 25/10/2017 6:14 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Achei em uma das postagens do forum, uma macro que atende parcialmente. Ela deixa eu selecionar a pasta onde estão os arquivos e realiza a importação de todos os arquivos que lá estão. Só que quando executo ela esta sobrescrevendo o conteúdo, ela sempre cola os dados no range A:H eu preciso que ela cole sequencialmente os dados da primeira planilha em A:H da planilha destino o da segunda em I:P e assim por diante também preciso que ele cole o nome da planilha de origem na célula "A13" para o primeiro arquivo, na célula I13 para o segundo e assim por diante.

O código é esse:

Sub ImportarVariosArquivos()
    Dim Pasta As String
    Dim Arquivo As String
   
    'Habilita a captura de erros
    On Error GoTo ERRO
   
    'Abre caixa de diálogo para selecionar a pasta onde estão os arquivos a serem importados
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Show
        Pasta = .SelectedItems(1)
    End With
   
    'Lista o primeiro arquivo a ser importado
    Arquivo = Dir(Pasta & "" & "*.xl*")
   
    'Laço para abrir cada um dos arquivos
    Do
        'Antes de abrir verifica se o arquivo não é o próprio (macro)
        If Arquivo <> ThisWorkbook.Name Then
           
            'Abre o arquivo
            Workbooks.Open Pasta & "" & Arquivo
            Sheets("3 - Resultados-Produtos").Select
            'Copia o conteúdo para a primeira linha vazia
            ActiveSheet.Range("A1:H120" & ActiveSheet.[A1].CurrentRegion.Rows.Count).Copy _
            ThisWorkbook.Sheets("Importar").Range("A:H" & ThisWorkbook.Sheets("Importar").[A1].CurrentRegion.Rows.Count + 1)
           
            'Fecha o arquivo
            Workbooks(Arquivo).Close False
        End If
       
        'Lista cada um dos demais arquivos da pasta
        Arquivo = Dir
    Loop While Arquivo <> ""
    Columns("A:H").AutoFit
    MsgBox "Fim de Importação dos arquivos"
    Exit Sub
ERRO:
    MsgBox "Houve o seguinte erro na importação dos arquivos: " & vbLf & vbLf _
    & "Código do Erro: " & Err.Number & vbLf & "Descrição: " & Err.Description, vbCritical, "Erro na Execução da Macro"
    Exit Sub
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 25/10/2017 6:54 am