La propriété Value de l'objet RefVIew te renvoie une chaine ressemblant à ça :
Feuille!$Colonne1$Ligne1:$Colonne2$Ligne2
Range ne peut pas accepter une adresse de ce type. C'est à toi de faire le découpage autour du point d'exclamation. Tu devrais obtenir :
Sheet("Feuille").Range("Colonne1$Ligne1:$Colonne2$Ligne2")...
En passant, arrêter avec vos Select/Selection/ActiveTruc. C'est comme ça qu'on a ces problèmes. Ecris donc :
s = RefLink.Value
p = InStr(s, "!")
if p = 0 then Msgbox "?" : Exit Sub
f = Left(s, p - 1)
a = Mid(s, p + 1)
Sheets("Truc").Hyperlinks.Add Anchor:=Sheets(f).Range(a), Address:= ...