Se eu entendi corretamente, o seguinte deve funcionar. A Expressão Regular retornará a data last na célula (e deve estar no formato exibido), onde a própria linha próxima começa com a frase " Technical / outros aprovadores "
Option Explicit
Function LastDate(S As String) As String
Dim RE As Object, MC As Object
Set RE = CreateObject("vbscript.regexp")
With RE
.Pattern = "[\s\S]+((?:\d{2}-){2}\d{4}\s(?:\d{2}:){2}\d{2}).*[\n\r]+Technical/other approvers.*"
.ignorecase = True
.MultiLine = True
.Global = False
If RE.test(S) = True Then
Set MC = RE.Execute(S)
LastDate = MC(0).submatches(0)
End If
End With
End Function
EDITAR:(porsugestãodeRaystafarian)Ocódigoacimausaoqueéchamadolate-binding.Sevocêestáusandoissoapenasemsuaprópriamáquina,early-bindingseriapreferível,poisvocêtemavantagemdoIntellisenseaoinserirocódigo.Sefordistribuído,podenãosertãosimplescomovocêprecisariadefinirreferênciasemtodososcomputadoresdosdestinatários.
Odesempenhodevesermelhorado.Noentanto,seissoéperceptíveldependeriadotamanhodoseubancodedados.
Aquiestáocódigoreescritoparaaproveitaravinculaçãoantecipada.
OptionExplicit'UsingEarlyBinding'SetReference(Tools/References)toMicrosoftVBScriptRegularExpressions5.5FunctionLastDate2(SAsString)AsStringDimREAsRegExp,MCAsMatchCollectionSetRE=NewRegExpWithRE.Pattern="[\s\S]+((?:\d{2}-){2}\d{4}\s(?:\d{2}:){2}\d{2}).*[\n\r]+Technical/other approvers.*"
.ignorecase = True
.MultiLine = True
.Global = False
If RE.test(S) = True Then
Set MC = RE.Execute(S)
LastDate2 = MC(0).submatches(0)
End If
End With
End Function