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
