Lo he solucionado mediante la siguiente function:
Código:
Function Resalta(texto, palabras)
dim cadena, esta_en, exacta
cadena = texto
for each m in arrayPalabras 'para cada palabra a resaltar, reconstruimos el string con el texto completo
esta_en = instr(1,texto,m,1) 'localizamos donde esta el substring a resaltar dentro del string completo
while esta_en <> 0 'mientras el string a resaltar este en el texto original
exacta = mid(texto,esta_en,len(m)) 'extraemos el string del texto completo para asi poder reconstruir con el html para resaltar y al reconstruir, que lo haga con el = mismo formato en q estaba
cadena = replace(cadena,exacta,"<span style='color: red; font-weight: bold'>"&exacta&"</span>")
esta_en = instr(esta_en+1,texto,m,1) '+1 para q no se quede siempre en la misma posicion, lo q provocaria bucle infinito
wend
next
Resalta = cadena
End Function
Recibe texto = texto donde están las substrings a resaltar
palabras = array con palabras a resaltar
Salu2 y gracias a todo por vuestra ayuda