Excelente, otra herramienta mas para usar, solo me queda la consulta de como se puede hace para que los dos formularios puedan interactuar entre si, digamos que pase una fila incorrecta al formulario # 1 y quiera devolverla al formulario # 2. Saludos desde Panamá
Hola. Recuerda que se especifica el formulario origen y el formulario destino. Para este caso has lo contrario; lo que antes era el origen, que sea el destino y el destino que sea el origen.
Que genial!. No sabía que podía darle ubicación al abrir el user form. Gracias. Una pregunta y si la primera columna de la tabla no es un consecutivo sino cantidades que se van descontando conforme las seleccione y las traspase al otro userform?.
Excelente video te felicito se ve que sabes bastante del tema, tengo una pregunta me ocurre que al abrir un listbox con información ya tiene seleccionada una fila en selección múltiple y al dar click en las filas que necesito esa fila se incluye al bajar la información a otra hoja de cálculo, no quiero que esta acción suceda, que me recomiendas, gracias
Si tienes la opción de traspasar información de un listbox multiselect a otra hoja y no quieres que esto pase, lo que puede hacer es inhabilitar dicha opción para que no se ejecute. No obstante, no conozco bien como tienes diseñado tu form, por tanto, solo estoy especulando. Si deseas, puedes enviar la información al correo djgagarcia@gmail.com para ver que tienes y darte la posible solución. Saludos cordiales.
Buenas Tardes Maestro, siguiendolo con los distintos eventos que plqntea aprendo mucho por su forma clara y concisa de hacerolo con VBA. Aprovecho la oportunidad de hacerle una consulta para ver como resolver un planteo, en un UseForm con 5 ComboBox no consecutivos y 2 TextBox también no con secutivos, o sea, opcionales de elegir y seleccionar un Item de dos minimo elegidos y enviarlos a una Hoja de Calculo con VBA Excel. ESperando una respuesta favorable, lo saludo con gran admiracion. Abrazo. ALBERTO desde Argentina.
Hola Se refiere a las selecciones de los controles ComboBox que tiene en un formulario y que se envíe la información a una hoja Excel? Supongo que usa la hoja Excel como base de datos, es correcto?
@@albertorbeccari5261 Puedes enviar tu archivo sin mas que solo el formulario con el que deseas registrar la información a mi correo djgagarcia@gmail.com. Igual podré hacer un video que responda mas o menos tu requerimiento.
Hola David, Muy bueno este ejemplo y te felicito por bien explicado que lo realizas , hace poco que visito tu blog y la verdad es de mucha ayuda , ya que muchos de los ejemplos me son muy útiles en mis tareas diarias, en tal sentido quiero hacerte un pregunta , sobre este tema (video) , Tengo un archivo del cual se me pide una información especifica y con algunos criterios y este ejemplo esta muy cerca de lo que necesito , La situación es la siguiente: tengo un archivo que contiene 86 columnas y un total de 40600 filas producto de la liquidación de los empleados de gobierno de mi provincia , y se me solicita seleccionar alguna columnas (16) del total (86) y que al seleccionarlas deben cumplir con la siguiente condición que el valor sea mayor a cero y que luego me permita realizar una búsqueda entre un importe y otro y como punto final contar la cantidad de empleados según el criterio seleccionado y sumar el importe total. Pido Las Disculpas correspondiente si la ayuda que te pido es un poco complicada , de todas maneras cualquier consejo o sugerencia me va a hacer de muchas ayuda. Gracias !
Buenos días, yo lo que necesito es que se quede la información registrada (que no se borre al cargar de nuevo el listbox). Si pasamos dos/tres/cuatro registros de un listbox a otro, quiero que se mantenga pasados al volver a abrir los listbox. Gracias y Saludos desde España. Manolo
Hola. En ese caso se debería emplear hojas para guardar los traspasado de un ListBox a otro. Es decir; una hoja por cada ListBox y luego por el código, indicar que lo traspasado de un ]ListBox a otro se hará en la hoja. Es una buena idea para un video si lo prefieres. Si estás suscrito a mi canal de seguro te llegará la notificación del nuevo video.
Hola, me gustaría saber cómo hago un loop para eliminar todos los elementos seleccionados en el cuadro de lista (selección múltiple). Eliminar varios elementos seleccionados en el cuadro de lista de la tabla.
Hola Este enlace te llevará al video publicado el día de hoy donde muestro un ejemplo de eliminación de varios elementos de un control ListBox donde su propiedad MultiSelect sea multi
Gracias Maestro García, Es un excelente ejemplo. solo tengo una pregunta respecto a los indices de los items de cada listbox en sus respectivos userforms son diferentes? y con respecto a la hoja de base de datos se mantiene ese indice o que pasa con aquello? Esto se complica sobre todo bajo el evento click del listbox. Quedo muy agradecido por tu exposicion
Para el ListBox, la primera columna es el indice 0. Es lo mismo en todos los ListBox y tambien para los ComboBox. Respecto a las hojas, la primera columna es normal. Es decir; columna ("A") su numero es uno(1) y así sucesivamente.
Si gracias, pero en el listbox del otro userform, luego de haber traspasado lo que se ha seleccionado en el primer listbox del userform anterior el indice ya no toma el 0 que mencionas.
A partir del minuto 16:14 se detalla como se envían las columnas según el numero de posición o indice. Otra forma de explicar; es que el indice representa el numero de columnas. Ejemplo: Si tienes 6 columnas, el indice seria: 0,1,2,3,4,5 (El numero 0 es la primera columna).
Es cierto,... pero por ejemplo si busco un item con el listbox1 de un userform1 me lleva a un sitio en la hoja. Si selecciono uno o varios items de este lisbox1 y lo envio (con el codigo que en tu ejemplo aprendi) hacia otro listbox de userform2 ya no me lleva al mismo sitio. Alli esta mi problema, es por eso que creo que toma otro valor. aunque como ya lo desmostraste el indice sea el mismo
Imagina que deseas mostrar lo seleccionado desde el formulario N°2 al formulario N°1 específicamente en el TextBox y desde la segunda columna de la fila seleccionada, seria asi : UserForm1.TextBox1 = UserForm2.ListBox1.List(UserForm2.ListBox1.ListIndex, 1)
@@EcoDev-Solutions Muchas gracias, me funciono justo como quería, ahora apelando a su conocimiento me gustaria saber como hago para que un texbox solo acepte numeros del 01 al 13
@@uverjhonterronesleon1069 en ese caso coloca un Combobox y que este tenga en forma de lista los numeros desde el 1 al 13 y en el evento KeyPress limita la escritura. Es decir que impidas que se escriba de este modo : Private Sub ComboBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) KeyAscii = 0 End Sub
@@EcoDev-Solutions FUNCIONO PERFECTO, MUCHAS GRACIAS. DISCULPE LA MOLESTIA TENGO OTRA CONSULTA: COMO ACTIVAR un formulario al PRESIONAR ENTER en UN textbox DE OTRO FORMULARIO en excel
Es posible que sea por el numero de columna que no lo definiste y por esa razón no logras hacerlo. Recomiendo ver el video desde el inicio y pausa y repite en la parte donde tienes dudas para asegurar. Cuéntame luego como te fue.
@@crisalvarez0880 Mi correo es djgagarcia@gmail.com Pero igual insisto en que veas poco a poco el video. Entiendo que puede ser un poco confuso al principio pero lo mas importante es la practica. Envías el correo con el screen de lo que hiciste y te digo cual puede ser.
Puede comprobarlo empleando el método AddItem y notará que si. Claro que se puede emplear otras alternativas para que se puedan usar mas columnas, ejemplo RowSource, entre otros.
Gracias Maestro DAVID GARCIA. Buen dato para agregar a mi proyecto. Aquí estamos pendientes de sus videos. Mis respetos!!!!
Muy amable por comentar. Recuerde que en la descripción del vídeo podrá descargar el archivo de ejemplo.
Mis respetos y gracias por ver el vídeo.
EXCELENTE MUY UTIL EL VIDEO GRACIAS. SALUDOS DESDE ARGENTINA ;)
Gracias, saludos!
Excelente Contenido y la explicación igual excelente. Saludos desde León, Gto. Mex.
Muchas gracias por comentar. También puede ver y descargar este aporte. No olvide darle like y compartir : th-cam.com/video/NxG-q-w_tZk/w-d-xo.html
Muy útil y didáctica su explicación. Muchas gracias con mi like & suscripción...
Muy gentil de su parte. Mis respetos.
Gracias por compartir Aprendi 3 cosas nuevas. Saludos
Me alegro. Saludos.
gracias, siempre los videos muy didacticos.. muchas bendiciones
Gracias por tus palabras.
Excelente, saludos desde Ecuador...
Muchas gracias por tu comentario.
Un saludo desde Caracas, Venezuela.
gracias de nuevo maestro
Gracias. Recuerde compartir los vídeos para que otros puedan verlo y tener el ejemplo para que lo usen.
Excelente, otra herramienta mas para usar, solo me queda la consulta de como se puede hace para que los dos formularios puedan interactuar entre si, digamos que pase una fila incorrecta al formulario # 1 y quiera devolverla al formulario # 2.
Saludos desde Panamá
Hola.
Recuerda que se especifica el formulario origen y el formulario destino. Para este caso has lo contrario; lo que antes era el origen, que sea el destino y el destino que sea el origen.
Que genial!. No sabía que podía darle ubicación al abrir el user form. Gracias. Una pregunta y si la primera columna de la tabla no es un consecutivo sino cantidades que se van descontando conforme las seleccione y las traspase al otro userform?.
Interesante lo que comentas. Voy a revisar para ver como lo puedo hacer.
Saludos cordiales.
Excelente video te felicito se ve que sabes bastante del tema, tengo una pregunta me ocurre que al abrir un listbox con información ya tiene seleccionada una fila en selección múltiple y al dar click en las filas que necesito esa fila se incluye al bajar la información a otra hoja de cálculo, no quiero que esta acción suceda, que me recomiendas, gracias
Si tienes la opción de traspasar información de un listbox multiselect a otra hoja y no quieres que esto pase, lo que puede hacer es inhabilitar dicha opción para que no se ejecute. No obstante, no conozco bien como tienes diseñado tu form, por tanto, solo estoy especulando. Si deseas, puedes enviar la información al correo djgagarcia@gmail.com para ver que tienes y darte la posible solución.
Saludos cordiales.
Buenas Tardes Maestro, siguiendolo con los distintos eventos que plqntea aprendo mucho por su forma clara y concisa de hacerolo con VBA. Aprovecho la oportunidad de hacerle una consulta para ver como resolver un planteo, en un UseForm con 5 ComboBox no consecutivos y 2 TextBox también no con secutivos, o sea, opcionales de elegir y seleccionar un Item de dos minimo elegidos y enviarlos a una Hoja de Calculo con VBA Excel. ESperando una respuesta favorable, lo saludo con gran admiracion. Abrazo. ALBERTO desde Argentina.
Hola
Se refiere a las selecciones de los controles ComboBox que tiene en un formulario y que se envíe la información a una hoja Excel?
Supongo que usa la hoja Excel como base de datos, es correcto?
@@EcoDev-Solutions Si maestro, seleccionar 1 item de dos Combo no consecutivos y 1 textbox de dos y mandar a hoja lo seleccionado. Muchas gracias
@@albertorbeccari5261 Puedes enviar tu archivo sin mas que solo el formulario con el que deseas registrar la información a mi correo djgagarcia@gmail.com.
Igual podré hacer un video que responda mas o menos tu requerimiento.
Ya estoy editando el vídeo. Espero publicarlo hoy en la noche.
Este es el video : th-cam.com/video/kKw-C29N0YI/w-d-xo.html
Hola David, Muy bueno este ejemplo y te felicito por bien explicado que lo realizas , hace poco que visito tu blog y la verdad es de mucha ayuda , ya que muchos de los ejemplos me son muy útiles en mis tareas diarias, en tal sentido quiero hacerte un pregunta , sobre este tema (video) , Tengo un archivo del cual se me pide una información especifica y con algunos criterios y este ejemplo esta muy cerca de lo que necesito , La situación es la siguiente: tengo un archivo que contiene 86 columnas y un total de 40600 filas producto de la liquidación de los empleados de gobierno de mi provincia , y se me solicita seleccionar alguna columnas (16) del total (86) y que al seleccionarlas deben cumplir con la siguiente condición que el valor sea mayor a cero y que luego me permita realizar una búsqueda entre un importe y otro y como punto final contar la cantidad de empleados según el criterio seleccionado y sumar el importe total. Pido Las Disculpas correspondiente si la ayuda que te pido es un poco complicada , de todas maneras cualquier consejo o sugerencia me va a hacer de muchas ayuda. Gracias !
Que pena que responda con tanto tiempo de demora.
Espero lo hayas solucionado.
Saludos cordiales.
Excelente video es muy bueno, una consulta pero se podría hacer que no se mueva es decir solo se copien los ítems de un listbox a otro
Solo quita la eliminación de la selección. Es decir; ListBox1.RemoveItem que ya no esté en el código de traspasar los elementos seleccionados.
@@EcoDev-Solutions muchas gracias, su ayuda es super buena y buen llegada
Un placer. Si estás suscrito al canal, podrás recibir las notificaciones de los nuevos videos que publicaré.
@@EcoDev-Solutions su estoy suscrito y muy buenos sus proyectos y enseñanzas
Hola una pregunta como se hace para elegir un solo item de un listbox y enviarlos a Excel con VBA. saludos y gracias
Mañana 12/04/2022 se publica el video a las 07:00 a.m. hora de Venezuela. Si estás suscrito al canal de seguro te llega la notificación.
Buenos días, yo lo que necesito es que se quede la información registrada (que no se borre al cargar de nuevo el listbox).
Si pasamos dos/tres/cuatro registros de un listbox a otro, quiero que se mantenga pasados al volver a abrir los listbox.
Gracias y Saludos desde España.
Manolo
Hola. En ese caso se debería emplear hojas para guardar los traspasado de un ListBox a otro.
Es decir; una hoja por cada ListBox y luego por el código, indicar que lo traspasado de un ]ListBox a otro se hará en la hoja.
Es una buena idea para un video si lo prefieres.
Si estás suscrito a mi canal de seguro te llegará la notificación del nuevo video.
Excelente explicacion.
Tengo un problema con un lisbox y no me carga como yo deseo espero me pueda ayudar y revise el código que he hecho.
Saludos
Perdona la demora. Aun tienes ese problema? Este es mi correo djgagarcia@gmail.com
Hola, me gustaría saber cómo hago un loop para eliminar todos los elementos seleccionados en el cuadro de lista (selección múltiple). Eliminar varios elementos seleccionados en el cuadro de lista de la tabla.
Hola
Este enlace te llevará al video publicado el día de hoy donde muestro un ejemplo de eliminación de varios elementos de un control ListBox donde su propiedad MultiSelect sea multi
Gracias Maestro García, Es un excelente ejemplo. solo tengo una pregunta respecto a los indices de los items de cada listbox en sus respectivos userforms son diferentes? y con respecto a la hoja de base de datos se mantiene ese indice o que pasa con aquello? Esto se complica sobre todo bajo el evento click del listbox.
Quedo muy agradecido por tu exposicion
Para el ListBox, la primera columna es el indice 0. Es lo mismo en todos los ListBox y tambien para los ComboBox. Respecto a las hojas, la primera columna es normal. Es decir; columna ("A") su numero es uno(1) y así sucesivamente.
Si gracias, pero en el listbox del otro userform, luego de haber traspasado lo que se ha seleccionado en el primer listbox del userform anterior el indice ya no toma el 0 que mencionas.
Por supuesto que si. Te lo demuestro con las siguientes lineas:
UserForm1.ListBox1.AddItem
UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 0) = ListBox1.List(I, 0)
UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 1) = ListBox1.List(I, 1)
UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 2) = ListBox1.List(I, 2)
UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 3) = ListBox1.List(I, 3)
UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 4) = ListBox1.List(I, 4)
UserForm1.ListBox1.List(UserForm1.ListBox1.ListCount - 1, 5) = ListBox1.List(I, 5)
A partir del minuto 16:14 se detalla como se envían las columnas según el numero de posición o indice.
Otra forma de explicar; es que el indice representa el numero de columnas. Ejemplo:
Si tienes 6 columnas, el indice seria: 0,1,2,3,4,5 (El numero 0 es la primera columna).
Es cierto,... pero por ejemplo si busco un item con el listbox1 de un userform1 me lleva a un sitio en la hoja.
Si selecciono uno o varios items de este lisbox1 y lo envio (con el codigo que en tu ejemplo aprendi) hacia otro listbox de userform2 ya no me lleva al mismo sitio. Alli esta mi problema, es por eso que creo que toma otro valor. aunque como ya lo desmostraste el indice sea el mismo
excelente maestro muchas gracias
Gracias por comentar.
Cual seria el código para capturar un dato de la segunda columna y pasarlo a un texbox de otro formulario. agradecido desde ya por su respuesta
Imagina que deseas mostrar lo seleccionado desde el formulario N°2 al formulario N°1 específicamente en el TextBox y desde la segunda columna de la fila seleccionada, seria asi : UserForm1.TextBox1 = UserForm2.ListBox1.List(UserForm2.ListBox1.ListIndex, 1)
@@EcoDev-Solutions Muchas gracias, me funciono justo como quería, ahora apelando a su conocimiento me gustaria saber como hago para que un texbox solo acepte numeros del 01 al 13
@@uverjhonterronesleon1069 en ese caso coloca un Combobox y que este tenga en forma de lista los numeros desde el 1 al 13 y en el evento KeyPress limita la escritura. Es decir que impidas que se escriba de este modo :
Private Sub ComboBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
KeyAscii = 0
End Sub
@@EcoDev-Solutions FUNCIONO PERFECTO, MUCHAS GRACIAS.
DISCULPE LA MOLESTIA TENGO OTRA CONSULTA: COMO ACTIVAR un formulario al PRESIONAR ENTER en UN textbox DE OTRO FORMULARIO en excel
@@uverjhonterronesleon1069 Cerrando un formulario Unload Me y mostrar el otro formulario Show o bien cerrando uno ya que de seguro esta´abierto.
por mas que he repetido lo que usted explico, no logro que me envie las 3 columnas que tiene mi listbox1 form1... me he estancado
Es posible que sea por el numero de columna que no lo definiste y por esa razón no logras hacerlo.
Recomiendo ver el video desde el inicio y pausa y repite en la parte donde tienes dudas para asegurar.
Cuéntame luego como te fue.
He hecho esto, pero sigue causandome lios... le mostrare
Mi correo es calvarez0880@gmail.com aqui creo no le puedo subir un screen
@@crisalvarez0880 Mi correo es djgagarcia@gmail.com
Pero igual insisto en que veas poco a poco el video. Entiendo que puede ser un poco confuso al principio pero lo mas importante es la practica.
Envías el correo con el screen de lo que hiciste y te digo cual puede ser.
CIERTO ES QUE LA
PROPIEDAD Additem solo agrega 10 columnas????
Puede comprobarlo empleando el método AddItem y notará que si. Claro que se puede emplear otras alternativas para que se puedan usar mas columnas, ejemplo RowSource, entre otros.
Vea el siguiente enlace : th-cam.com/video/mOlo2d47rMA/w-d-xo.html
Hola David, te escribi por correo cuando puedas comunicate conmigo por favor
Saludos cordiales profesor.