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