Les dejo el código para crear una función en Excel que les permita validar si una celda en particular contiene o no solo texto, pues Excel puede determinar si el contenido de la celda es o no Numérico mediante la función ESNUMERO(), pero no viene nada para texto, de igual forma la adapté para validar nombres en Español...
Public Function TextOnly(ByVal d As Variant) As Boolean
TextOnly = True
Dim src, ptrn, ptrn1, re, re1, Match, Matches1, Matches
ptrn = "\W+"
ptrn1 = "[0-9]"
' Create the regular expression.
Set re = New RegExp
re.Pattern = ptrn
re.IgnoreCase = False
re.Global = False
Set re1 = New RegExp
re1.Pattern = ptrn1
re1.IgnoreCase = False
re1.Global = False
' Perform the search.
Set Matches = re.Execute(d)
Set Matches1 = re1.Execute(d)
' Iterate through the Matches collection.
If Matches.Count > 0 Or Matches1.Count = 0 Then
TextOnly = False
End If
End Function
Public Function Names(ByVal d As String) As Boolean
Dim src, ptrn, ptrn1, re, re1, Match, Matches1, Matches
ptrn = "[^ A-Za-zñáéíóú]"
' Create the regular expression.
Set re = New RegExp
re.Pattern = ptrn
re.IgnoreCase = False
re.Global = False
' Perform the search.
Set Matches = re.Execute(d)
' Iterate through the Matches collection.
If Matches.Count > 0 Then
Names = False
Else
Names = True
End If
End Function