Bom dia Brunsftw,
Não testei, mas tenta usar assim:
Sub Transferir_dados_planilhas()
Dim vUltimaLinha As Long
Dim vUltimaLinhaTransf As Long
Dim vNumeroLinhas As Long
Dim wksDestino As Worksheet
Dim vTodasPlans As Worksheet
Dim vRegiao As Range
Dim vRegiaoTransf As Range
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Set wksDestino = ThisWorkbook.Worksheets("Geral")
wksDestino.Range("A2:N10000").ClearContents
For Each vTodasPlans In Worksheets
If vTodasPlans.Name <> wksDestino.Name Then
With vTodasPlans
vUltimaLinha = .Range("D65536").End(xlUp).Row
Set vRegiao = .Range("A2:N" & vUltimaLinha)
End With
On Error Resume Next
vNumeroLinhas = vRegiao.Rows.Count
With wksDestino
vUltimaLinhaTransf = .Range("D65536").End(xlUp).Row + 1
Set vRegiaoTransf = .Range(.Cells(vUltimaLinhaTransf, 1), .Cells(vUltimaLinhaTransf - 1 + vNumeroLinhas, 14))
vRegiaoTransf.Value = vRegiao.Value
End With
End If
Next
Sheets("Geral").Select
Set wksDestino = Nothing
Set vRegiao = Nothing
Set vRegiaoTransf = Nothing
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
Qualquer coisa da o grito.
Abraço
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 22/10/2015 8:03 am