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 🙂
