Hace poco me programé una función para armar consultar de SQL Server desde VBA, pero de manera que cada parámetro fuese una línea de la consulta. Descubrí ParamArray que es basicamente un arreglo de parámetros en una función.
Esto también puede servir cuando no sabes cuantos parametros vas a recibir, pero sí que operación vas a hacer con esos parámetros. Se me ocurre por ejemplo, sumar todos los parametros que reciba la función. Vamos a ella:
Public Function SumarValores(ParamArray N()) as Double Dim ResultadoSuma as Double ResultadoSuma = 0 Dim item As Variant If Ubound(N) >=0 then For Each item In N ResultadoSuma = ResultadoSuma + N Next End if SumarValores = ResultadoSuma End Function
Con esto estaremos sumando todos los valores que recibamos como parámetros. Ya podrías validar si en efecto el parámetro es número o demás.
Se puede llamar así desde la consola o vista inmediato (CTRL + G):
?SumarValores(10,20,30,40,50) ?SumarValores(1,50,20)
Usa ParamArray 🙂