 
  
Sempre que incremento uma função nova eu testo o código pra ver se não tive erro nessa mudança em especifico com sintaxe ou referencia. etc etc. muitas alterações dificultam acham o erro. Até incrementar o for each pra percorrer as planilhas o programa jogava os dados selecionados para a planilha destino ("Fim") sem problema nenhum. pulava linha quando chegava na quarta coluna e tudo. mas quando incrementei a nova sub que vai usar o laço for each pra percorrer os nomes, deu esse erro e mesmo jogando a mensagem de dialogo no goole não consegui achar o problema. achei que tinha deixado o "Option Explicit" ligado pq a variavel vPlan não foi inicializada pq ela começa com o laço mas não deixei ele ativo. e a nome da sub ta certa na call. tentei sem call e tbm não foi.
        
        
        
Function funcTroca_sis_data(pData As String) As Date
funcTroca_sis_data = Mid(pData, 9, 2) & "/" & Mid(pData, 6, 2) & "/" & Mid(pData, 1, 4)
    
End Function
Sub Extracao()
Dim pCeu As Range
Dim pLinhaFim As Long
pLinha = 2
Call sbConferePlanilha
Sheets("Movimentação").Select
 
    For Each pCeu In Selection
    
    Sheets("Fim").Cells(pLinha, pCeu.Column) = pCeu
    
    If pCeu.Column = 4 Then
    
    Sheets("Fim").Cells(pLinha, pCeu.Column) = funcTroca_sis_data(Sheets("Fim").Cells(pLinha, pCeu.Column))
    pLinha = pLinha + 1
    
    End If
    
    
    Next
End Sub
Sub sbConferePlanilha()
Dim vPlan As Sheets
Dim vExiste As Boolean
vExiste = False
For Each vPlan In ThisWorkbook.Worksheets
    If vPlan.Name = "Fim" Then
    vExiste = True
    Exit For
    End If
    Next vPlan
    
    If Not vExiste Then
    
    ThisWorkbook.Worksheets.Add.Name = "Fim"
    
    End If
    
    
End Sub
