Guarde esta función en un módulo de VBA
Public Function extraer(strFrase As String, intPosicion As Integer) As String
'Función para extraer una palabra de una frase de acuerdo con la posición
'Parámetros:
' strFrase --> Frase a examinar
' intPosicion --> Posición de la palabra en la frase
'Ejemplo:
' extraer("Eduardo Pérez Fernández", 1) --- Retorna Eduardo (Primera palabra de la frase)
' extraer("Eduardo Pérez Fernández", 2) --- Retorna Pérez (Segunda palabra de la frase)
' extraer("Eduardo Pérez Fernández", 3) --- Retorna Fernández(Tercera palabra de la frase)
' extraer("Eduardo Pérez Fernández", 4) --- Retorna ! Error ...! (La posición supera el número de palabras)
'
'Elaborada Por:Eduardo Pérez Fernández
'Fecha : 5/10/2021
Dim PalArray() As String
Dim ctapalabras As Integer
PalArray() = Split(strFrase)
ctapalabras = UBound(PalArray()) + 1
If ctapalabras < intPosicion Then
extraer = "!! Error ...!!"
Exit Function
End If
extraer = Split(strFrase)(intPosicion - 1)
End Function
Observe que utilizo 2 parámetros, esto es, la frase que contiene las palabras y la posición de la palabra, si la posición supera el número de palabras retorna el mensaje de error.
Puede llamar esta función desde cualquier parte, consulta, formulario o código VBA, observe los ejemplos.