Agregar argumentos a un array

Hola saludos. Estoy aprendiendo macros en Excel y quisiera un poco de ayuda con un asunto:
Tengo un cuadro combinado llamado "usuarios" que a su vez está en un formulario. La idea es que al seleccionar un determinado usuario lo inserte en cierta celda de la hoja.
Al cuadro combinado le asigno los valores de la siguiente manera:
Private Sub UserForm_Initialize()
usuarios.list=array("juan", "pedro","carlos","ramón")
End Sub
Lo que me interesaría saber es: si es posible agregarle más argumentos, o sea nombres, a ese array asignado en este caso al cuadro combinado.
Es posible dentro del mismo formulario que estoy usando crear un cuadro de texto donde ingreso un nombre y luego con alguna acción se cargue en el array del cuadro combinado del ejemplo. O bien que otra alternativa me recomiendan. Desde ya agradezco cualquier ayuda.

1 respuesta

Respuesta
1
Si, puedes añadir más elementos a la lista usando el método AddItem del objeto ListBox.
Por ejemplo, podrías tener un botón para añadir a "maría", de esta manera
Private Sub CommandButton1_Click()
usuarios.AddItem "maría"
End Sub
Espero haberte ayudado,
Saludos,
Carlos
[email protected]
Releyendo tu pregunta veo que la consulta es para un cuadro combinado, y yo te he rspondido para un cuadro de lista.
Para no crearte confusión, te digo que te sirve exactamente lo mismo para un cuadro combinado (ComboBox) como para un cuadro de lista (ListBox).
Es decir, el cuadro combinado también dispone del método AddItem que puedes usar para añadir elementos.
Hola Carlos. Gracias por la explicación no conocía como funcionaba el método additems.
Efectivamente sirve para agregar más argumentos al array del cuadro combinado que estoy usando en el ejemplo.
Pero me gustaría avanzar un poco más y saber si esos nombres que inserto pueden quedar establecidos definitivamente asignados al array, porque si no me equivoco cuando cierro la hoja y luego cuando la vuelvo abrir esos nuevos valores ya desaparecieron.
Voy a ser un poco más especifico. Al formulario lo ejecuto con un botón en la barra de herramientas de acceso rapido de excel al cual le agregué la macro que estamos tratando. La idea es que pueda usar ese cuadro combinado que esta en el formulario permanentemente en distintas hojas que necesite.
No se si me he explicado correctamente. Por supuesto que también me interesa cualquier alternativa. Gracias de nuevo.
A veces no es fácil entender la consulta.
Creo que sería más fácil para mi entenderlo si me enviaras a mi correo tu ejemplo, con algunas explicaciones de lo que deseas.
Quizás de ese modo pudiera hacerte un propuesta.
Hola amigo. Sigo agradeciendo tu molestia.
Mira, lo que quiero saber es por ejemplo si al array que tengo establecido, o sea, el que estamos viendo desde el principio:
usuarios.list=array("juan", "pedro","carlos","ramón")
Se le puede asignar un argumento más, digamos a través de un cuadro de texto, de manera que ese argumento (en este caso un nombre) quede permanente ¿me explico?.
Por ejemplo si ingreso "maria" en un cuadro de texto, al aceptar este valor me lo pase o ingrese al array que está en el código con lo cual quearia así:
usuarios.list=array("juan", "pedro","carlos","ramón","maria")
Nuevamente agradezco tu disposición y por cierto como se suben archivos en el caso que lo requieras. Saludos.
Pues técnicamente si se puede hacer... es decir, es posible modificar el código desde el mismo código usando el objeto VBAProject, pero es una locura... dudo que eso sea lo que necesitas, no es nada habitual tener que usar el objeto VBAProject, salvo rarísimas excepciones y con muchísimo cuidado.
No se pueden subir archivos aquí en todoexpertos... por eso te decía si me lo enviabas por correo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas