Você pode fazer com que sua função desative os cálculos da planilha antes que ela termine.
Eu escrevi uma função personalizada para concatenar um intervalo, usando um concatenador personalizado.
Public Function mikeConcat(rng As Range, concatenator As Variant) As String
if left(selection.value,1)="'" then goto end1
toReturn = "'"
For Each cel In rng
toReturn = toReturn & cel & CStr(concatenator)
Next cel
mikeConcat = Left(toReturn, Len(toReturn) - 1)
end1: End Function
Funciona muito bem, mas parece que as células em que eu o uso estão constantemente chamando. Sem desativar a atualização da fórmula da planilha, como garantir que ela seja chamada apenas uma vez por célula?
Edit1: pergunta para refletir a mudança recomendada pelo FreeMan. Edit2: Eu recebo um erro de referência circular e não funciona.
Você pode fazer com que sua função desative os cálculos da planilha antes que ela termine.