Notifications
Clear all

Exportar dados de varias planilhas para várias pastas

4 Posts
3 Usuários
0 Reactions
1,352 Visualizações
(@squat)
Posts: 0
New Member
Topic starter
 

Blz pessoal,
Estou criando uma macro que copie os dados de cada planilha (Q, W, E, R) do arquivo “Origem.xlsm” e cole em arquivos distintos (ARQ1, ARQ2, ARQ3, ARQ4), ou seja,
os dados da planilha Q devem ser colados em ARQ1, os da planilha W em ARQ2, os da planilha E em ARQ3 e os da planilha R em ARQ4.
O código abre o arquivo ARQ1, copia os dados da planilha Q e cola em ARQ1 e salva e fecha.
Entretanto na hora de abrir o ARQ2 e colar os dados da planilha W em diante o loop está dando erro, não abre o ARQ2.
Algum forista poderia me dizer onde estou errando.
Segue o código abaixo e os arquivos em anexo para melhor entendimento.
Grato pela atenção.

For i = 4 To 7
    Workbooks("Origem.xlsm").Activate
    If Worksheets("Plan1").Range("B" & i).Value = "x" Or Worksheets("Plan1").Range("B" & i).Value = "X" Then
        If Worksheets("Plan1").Range("A" & i).Value <> "" Then
            j = j + 1
            Application.ScreenUpdating = False
            Set wkbone(j) = Workbooks.Open(endarq & Worksheets("Plan1").Range("A" & i).Value, WriteResPassword:="123", ReadOnly:=False, IgnoreReadOnlyRecommended:=True)

            With ActiveWorkbook
                
                nomearq = Workbooks("Origem.xlsm").Worksheets("Plan1").Range("A" & i).Value
                                                
                    If ActiveSheet.AutoFilterMode = True Then
                       ActiveSheet.AutoFilterMode = False
                    End If
                    
                    Workbooks("Origem.xlsm").Worksheets("Plan1").Activate
                    
                    'Copiar dados para os arquivos de destino
                    
                    For k = 2 To ActiveWorkbook.Sheets.Count
                    
                     UltCol = Workbooks("Origem.xlsm").Worksheets(k).Cells(1, Columns.Count).End(xlToLeft).Column
                     UltLinha1 = Workbooks("Origem.xlsm").Worksheets(k).Range("A2").End(xlDown).Row
                     UltLinha2 = Workbooks(nomearq).Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row + 1
                    Workbooks("Origem.xlsm").Worksheets(k).Activate
                    Workbooks("Origem.xlsm").Worksheets(k).Range(Cells(2, 1), Cells(UltLinha1, UltCol)).Copy
                    Workbooks(nomearq).Sheets(1).Cells(UltLinha2, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
                    Application.Goto Reference:=Workbooks(nomearq).Sheets(1).Range("A1"), Scroll:=True
                    
                    Application.CutCopyMode = False
                    
                    Workbooks(nomearq).Save
                    Workbooks(nomearq).Close
            
                    Next k
                     
                'Application.CutCopyMode = False
                                
            End With
                      
        End If
        
    End If
    
Next i
 
Postado : 08/11/2017 2:59 pm
(@jpedro)
Posts: 0
New Member
 

Squat,

Veja se é isso. Mudei pouca coisa no seu código. O erro estava no segundo loop, que era desnecessário.

Abs.

Se ajudou, clique na mãozinha acima e marque o tópico como resolvido.

 
Postado : 08/11/2017 7:51 pm
(@squat)
Posts: 0
New Member
Topic starter
 

Boa noite JPedro,

Primeiramente, desculpa pela demora em retornar, estive com problemas de acessar a internet.

Ficou show, está rodando perfeitamente e com um loop a menos.

Muito obrigado pela ajuda.

Vou marcar o tópico como resolvido.

Abçs

 
Postado : 10/11/2017 5:11 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Squat

Pelo jeito você não sabe como marcar corretamente o tópico como Resolvido, e nem como agradecer (pontuar) os colaboradores.
Eu editei o tópico e marquei como resolvido na resposta que te atendeu, pois você havia marcado na tua resposta.

Clique no link abaixo para entender como funcionam as ferramentas:

viewtopic.php?f=7&t=16757

[]s
Patropi - Moderador

 
Postado : 11/11/2017 7:41 am