Cuando veía viáticos había automatizado el almacenamiento de unos documentos y dentro del nombre del archivo quería que tuviera las iniciales del empleado, ejemplo:

La celda C1 tiene el valor de "José Hernández Pérez", y en la celda C2 hacemos el llamado de nuestra función =INICIALES(C1), el resultado es JHP:

 Copiar código

Function INICIALES(texto As Range) As String
	Application.Volatile
		Dim resultado As String
		Dim palabras() As String
		
		palabras = Split(AjustarEspacios(texto))
		  For i = LBound(palabras) To UBound(palabras)
			  resultado = resultado & Left(palabras(i), 1)
		  Next
		INICIALES = resultado
End Function

Private Function AjustarEspacios(ByVal texto As String) As String
	Dim resultado As String
	resultado = Trim(texto)
	   Do While InStr(resultado, "  ")
		  resultado = Replace(resultado, "  ", " ")
	   Loop
	AjustarEspacios = resultado
End Function