Primer caso
La función recibe una matriz y devuelve un único valor.
Segundo caso
Código:
Sub principal() Dim A(2) A(1) = 1 A(2) = 2 MsgBox sumatorio(A) End Sub Private Function sumatorio(B) Dim s s = B(1) + B(2) sumatorio = s End Function
Es importante definir la función Genera escribiendo el tipo y unos paréntesis detras del tipo de variable:
Function Genera() As Byte()
Estos últimos paréntesis son imprescindibles.
Código:
Sub Ejecuta() Dim Z() As Byte Z = Genera() MsgBox (Z(1) & ", " & Z(2)) End Sub Private Function Genera() As Byte() Dim A(2) As Byte A(1) = 1: A(2) = 2 Genera = A End Function
Otro ejemplo que se ajustaría a este segundo caso se da cuando se pide a la matriz que genere ciertos números aleatorios. Por ejemplo, la función podría generar números aleatorios sin repetición en cierto rango de valores enteros.
Tercer caso
La función recibe una matriz y devuelve otra matriz.
Código:
Sub Transforma() Dim Z() As Byte Dim p, q p = 4: q = 5 Z = Dobla(p, q) MsgBox (Z(1) & ", " & Z(2)) End Sub Private Function Dobla(x, y) As Byte() Dim A(2) As Byte A(1) = x * 2 A(2) = y * 2 Dobla = A End Function
No entendí nada :(
ResponderEliminarYo tengo una matriz en una planilla, y en otra planilla tengo 2 listados... ¿qué fórmula tengo que aplicar para que a partir de la info en el listado 1 y en el listado 2, me dé el valor correspondiente en la matriz?
¡Gracias!
hola..estaba viendo el ejemplo y si me funciona en excel....ahora tengo una duda...por que este ejemplo no funciona...ya que al ejecutarlo me aparece el error #!valor
ResponderEliminarFunction NumeroFilas(B)
NumeroFilas = UBound(B, 1)
End Function
agradeceria una respuesta...intente de varias formas y siempre tengo el mismo error