Paso de matrices de estructuras a una funcion
Si me declaro en el formulario principal una estructura, y posteriormente una matriz de dicha estructura, si deseo pasarle esta matriz a una funcion definida en un modulo estandar, como declaro el parametro que debe recoger esta matriz en el prototipo de la funcion? He probado ya a declararlo como una matriz de tipo Variant, pero no me deja. Y si la declaro como una matriz de la estructura definida en el formulario principal, no me deja.
Gracias
Gracias
Hola Raquel.
Si te defines una estructura en un formulario solo la puedes utilizar en ese formulario ya que solo la puedes declarar como privada, asi que luego en el módulo donde tienes la función no te lo reconoce.
Lo que tendrías que hacer es definirtela en el mismo módulo, así la puedes usar donde quieras. Mira este ejemplo a ver si te sirve:
FORMULARIO:
Function Aceptar_Click()
Dim Matriz(1) As Estructura
'Estructura esta definida en el Módulo
Matriz(0).nombre = "Dav"
Matriz(0).direccion = "Per"
mostrar Matriz 'Función definida en el módulo
end Function
MODULO:
Type Estructura
nombre As String
direccion As String
End Type
Function mostrar(Mat() As Estructura)
MsgBox Mat(0).nombre & ", " & Mat(0).direccion
End Function
Un saludo.
Si te defines una estructura en un formulario solo la puedes utilizar en ese formulario ya que solo la puedes declarar como privada, asi que luego en el módulo donde tienes la función no te lo reconoce.
Lo que tendrías que hacer es definirtela en el mismo módulo, así la puedes usar donde quieras. Mira este ejemplo a ver si te sirve:
FORMULARIO:
Function Aceptar_Click()
Dim Matriz(1) As Estructura
'Estructura esta definida en el Módulo
Matriz(0).nombre = "Dav"
Matriz(0).direccion = "Per"
mostrar Matriz 'Función definida en el módulo
end Function
MODULO:
Type Estructura
nombre As String
direccion As String
End Type
Function mostrar(Mat() As Estructura)
MsgBox Mat(0).nombre & ", " & Mat(0).direccion
End Function
Un saludo.