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