Lo puedes hacer declarando Enumeraciones https://docs.microsoft.com/es-es/office/vba/language/reference/user-interface-help/enum-statement
Por ejemplo, si declaras la siguiente enumeración:
Enum eNacionalidad
NacEspañol
NacIngles
NacFrances
NacItaliano
NacOtro
End Enum
Y creas una función personalizada como ésta:
Function SaludoInter(elNombre As String, laNacionalidad As eNacionalidad) As String
Select Case laNacionalidad
Case nacEspañol
SaludoInter = "¡Buenos días, " & elNombre & "!"
Case nacIngles
SaludoInter = "Good morning, " & elNombre & "!"
Case nacFrances
SaludoInter = "¡Bonjour, " & elNombre & "!"
Case nacItaliano
SaludoInter = "¡Buongiorno, " & elNombre & "!"
Case Else
SaludoInter = " Lo siento, " & elNombre & ", no hablo tu idioma"
End Select
End Function
Cuando la llames para asignarle los parámetros de entrada, al llegar al segundo (la nacionalidad), te mostrará las opciones creadas en la enumeración:
Debes tener en cuenta, como dice en el enlace de ayuda, que los valores de la enumeración son todos numéricos. Si no le asignas explicitamente valor a cada opción, la primera tomará el valor 0, la segunda 1, la tercera 2...(sería el caso del ejemplo), pero puedes asignarles tú valores específicos (consecutivos o no) a cada opción, por ejemplo, podría haber escrito:
Enum eNacionalidad
nacEspañol=5
nacIngles=20
nacFrances=300
nacItaliano= 500
nacOtro=666
End Enum
o también:
Enum eNacionalidad
nacEspañol=10
NacIngles
NacFrances
NacItaliano
NacOtro
End Enum
Con lo que nacIngles tendría un valor de 11, nacFrances de 12...