Filtro avançando via macro. Copiar a string não a fórmula?

Arquivo de exemplo:

Sem título 152.ods

No arquivo exemplo em anexo na planilha “Dispensação”, uso a macro aqui do forum pra executar Filtro avançando via macro.

Sub FiltroAvancado
	Dim oDoc As Object, oPlanAtiva As Object, oPlan2 As Object
	Dim oIntervalo As Object, oCriterios As Object
	Dim oDestino As Object, oFiltro As Object

   oDoc = ThisComponent
   oPlanAtiva = oDoc.CurrentController.ActiveSheet
   oPlan2 = oDoc.Sheets.getByName("Cadastro")
   
	If oPlanAtiva.getCellRangeByName("a2").getstring() <> "" Then
	   oIntervalo = oPlan2.getCellRangeByName("A1:c49")
	   oCriterios = oPlanAtiva.getCellRangeByName("a1:a2")
	   oDestino = oPlanAtiva.getCellRangeByName("a7")
	
	   oFiltro = oCriterios.createFilterDescriptorByObject(oIntervalo)
	   oFiltro.CopyOutputData = True
	   oFiltro.OutputPosition = oDestino.CellAddress
	   oFiltro.ContainsHeader = True
	
	   oIntervalo.Filter(oFiltro)
	End If

End Sub

Sub sbClearCells()
	Dim oDoc As Object, oPlanAtiva As Object
	Dim oDestino As Object
	
	oDoc = ThisComponent
	oPlanAtiva = oDoc.CurrentController.ActiveSheet
	oDestino = oPlanAtiva.getCellRangeByName("a8:c8")
oDestino.ClearContents(23)
End Sub

Na coluna do ID ele retorna a fórmula que esta na celula pesquisada. Mas eu queria que ele trouxesse apenas a string.

No meu exemplo, quando o código é “135970” a formula na célula de origem é “=linha()-1” que seria “22”
Quando faço o filtro via macro o id fica com o valor da linha da celula onde a busca é retornada, no caso “7”

Tem alguma forma de resolver isso?

Se o Código for único pode-se usar a formula com ÍNDICE e CORRESP

Veja no arquivo…|attachment mais detalhes.

OPS… Acerte a formula em C12 =SE(A2="";"";A2)