Editar Eliminar desde ListBox Tips VBA en Excel

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ก.ย. 2024
  • En este video se muestra como editar datos en celdas y eliminar filas según la selección de un ListBox. Todo con programación VBA.

ความคิดเห็น • 50

  • @LYHImprovisando
    @LYHImprovisando 2 ปีที่แล้ว +1

    hola excelente video ,, será que podría hacer uno con varios campos , osea varias columnas tanto en listbox como en los textbox ,,, gracias por la enseñanza

    • @EcoDev-Solutions
      @EcoDev-Solutions  2 ปีที่แล้ว

      Hola
      En mi canal hay muchos ejemplo en donde empleo lo que sugieres. Los puedes buscar en la lista de reproducción de Tips VBA en Excel en el siguiente enlace: th-cam.com/video/cORbo_DzG78/w-d-xo.html

  • @sergioamodeo33
    @sergioamodeo33 4 ปีที่แล้ว

    Hola mi estimado Vi tu vídeo y me pareció excelente. Muchas gracias

  • @FabianOlartev
    @FabianOlartev ปีที่แล้ว

    Excelente video, aunque me surge una pregunta cuando la list box esta en blanco saldra un error ya que no hay items a la hora de eliminar un item

    • @EcoDev-Solutions
      @EcoDev-Solutions  ปีที่แล้ว

      Lo validas con:
      If ListBox1.ListIndex=-1 Then: Exit Sub
      Y asi se sale del procedimiento Sub si no tiene nada seleccionado.

  • @Cristian-pf5uc
    @Cristian-pf5uc ปีที่แล้ว

    Exelente video, muchas gracias por el aporte como siempre, mi proyecto sigue mejorando. Tendras algun video donde muestre como modificar varios registros de un listbox a la vez, osea tengo en el listbox una lista con 6 productos y necesitaría cambiarle el precio a los 6 de una sola vez, muchas gracias de nuevo

    • @EcoDev-Solutions
      @EcoDev-Solutions  ปีที่แล้ว +1

      Hola
      Puedes ver el siguiente video pero antes te recomiendo que guardes en variables de tipo Double los campos de los controles TextBox donde colocas los precios. Asi cuando se editen, sea con lo que ya tenga en memoria las variables : th-cam.com/video/PKL2lKIz9lQ/w-d-xo.html

    • @Cristian-pf5uc
      @Cristian-pf5uc ปีที่แล้ว

      @@EcoDev-Solutions Como estas amigo, eh visto el video, pero, no es lo que estoy necesitando, nose si se pueda en vba, por eso consulto. Mi proyecto esta dirijido a una tienda de venta de calzados, en un listbox, consulto un modelo de calzado en particular, con todos sus talles, por ej del 34 al 40 mas su descripción, color, precio y código. El proveedor pasa una nueva lista de precios y hay que modificar, en mi proyecto solo lo puedo hacer de a uno, 1ro el talle 34, despues el talle 35 y así sucesivamente. La pregunta es, se puede cambiarle el precio a todo los talles con un solo click de un botón? Seria como una modificacion masiva. Desde ya muchas gracias como siempre.

    • @EcoDev-Solutions
      @EcoDev-Solutions  ปีที่แล้ว +1

      @@Cristian-pf5uc Si es lo que entiendo, puedes hacer dos bucles. Uno que recorra los ítems del control ListBox y otro que recorra las filas de la hoja. Si coinciden en la columna que especifiques, entonces has que tu código cambie los valores según la condición que coloques. Esto seria de forma general.
      En mi canal hay ejemplos de como recorrer y editar los datos en hoja desde control ListBox.

    • @Cristian-pf5uc
      @Cristian-pf5uc ปีที่แล้ว

      @@EcoDev-Solutions Apa! Eso me gusta, dos bucles, voy a intentar a ver que me sale, pero Sisi ahi me entendiste amigo, muchas gracias, voy a probar a ver que sale

  • @JuanSuarez-yy2pc
    @JuanSuarez-yy2pc 5 ปีที่แล้ว +1

    Hola amigo, quisiera plantearte una crítica constructiva, habemos muchos seguidores que no somos tan avanzados como otros por lo tanto si explicaras las instrucciones en la línea escrita nuevamente después de terminar la macro completa, te auguro tendrías mucho más seguidores, excelentes videos.,..

    • @EcoDev-Solutions
      @EcoDev-Solutions  4 ปีที่แล้ว +1

      Hola. Gracias por la observación pero mantendré la forma en que lo hago hasta los momentos.
      Espero no sea un inconveniente para usted.
      Saludos cordiales.

  • @MarisolRamos-1971
    @MarisolRamos-1971 5 ปีที่แล้ว +1

    Excelente 😊

  • @lagugui
    @lagugui 4 ปีที่แล้ว +1

    Hola! Muy útil! Te hago una consulta. Necesito realizar esto mismo, pero con el listbox activado con una búsqueda inteligente. Es decir, busqué un producto escribiendo en un textbox y los resultados me los muestra en el listbox. Cómo puedo hacer para eliminar estos resultados?

    • @EcoDev-Solutions
      @EcoDev-Solutions  4 ปีที่แล้ว

      Hola
      Si se refiere a eliminar por item, lo puede hacer con la selección del elemento. Es decir:
      ListBox1.RemoveItem ListBox1.ListIndex
      Para eliminar todo el contenido del Listbox, lo haces con :
      ListBox1.Clear

    • @lagugui
      @lagugui 4 ปีที่แล้ว

      @@EcoDev-Solutions gracias por tu pronta respuesta! En realidad lo que necesito es que, una vez que mi listbox me devuelve la busqueda, al hacer dobleclic sobre el listbox:
      1. Me lleve la info a otro listbox2
      2. Elimine el elemento del listbox1
      3. Elimine el elemento de mi tabla de excel.
      Logré hacerlo cuando el listbox1 no está filtrado. Pero cuando realizó la búsqueda solo me traslada el dato del listbox1 al listbox2, pero no me elimina los datos del listbox1 y tampoco me lo quita de mi hija de excel.
      Sería de gran ayuda tu comentario. Gracias!!

    • @EcoDev-Solutions
      @EcoDev-Solutions  4 ปีที่แล้ว

      @@lagugui Lo que buscas es traspasar lo seleccionado. Mira este enlace : th-cam.com/video/8KZ8ohvgE6g/w-d-xo.html

    • @lagugui
      @lagugui 4 ปีที่แล้ว

      Gracias pero no sé ha filtrado ningun dato en esos listbox. Yo puedo pasar los datos de un listbox a otro, lo que no puedo es eliminarlo cuando tengo filtrado el listbox

    • @EcoDev-Solutions
      @EcoDev-Solutions  4 ปีที่แล้ว

      @@lagugui Realmente no entiendo lo que necesita.
      Es eliminar un item o todo el contenido del ListBox. Puede ser mas detallado en lo que requiere?

  • @kerwinlima8245
    @kerwinlima8245 ปีที่แล้ว

    HERMANO, COMO HAGO PARA ELIMINAR Y EDITAR UN DATO QUE SEA FILTRADO EN EL LISTBOX Y SE HAGA LOS CAMBIO TANTO EN EL LISTBOX COMO EN LA HOJA,

    • @EcoDev-Solutions
      @EcoDev-Solutions  ปีที่แล้ว

      Mira este video : th-cam.com/video/IeegXv3bcJk/w-d-xo.html

  • @javierjuarezjuarez20
    @javierjuarezjuarez20 4 ปีที่แล้ว

    Hola mi estimado Vi tu vídeo y me pareció excelente, ahora mi consulta es si quisiera eliminar más datos repetidos en filas, el código ya no funciona

    • @EcoDev-Solutions
      @EcoDev-Solutions  4 ปีที่แล้ว

      Mira este video y si no es, me avisa por favor
      Video : th-cam.com/video/2iiasfqEBo0/w-d-xo.html

    • @EcoDev-Solutions
      @EcoDev-Solutions  4 ปีที่แล้ว

      Mira también el vídeo de @Sergio Alejandro Campos - EXCELeINFO que creo que es lo que necesitas : th-cam.com/video/guMX8LOXWJ0/w-d-xo.html

    • @javierjuarezjuarez20
      @javierjuarezjuarez20 4 ปีที่แล้ว

      @@EcoDev-Solutions ,muchas gracias amigo me sirvió de mucho que te valla muy bien, sabes mucho de excel.

    • @EcoDev-Solutions
      @EcoDev-Solutions  4 ปีที่แล้ว

      @@javierjuarezjuarez20 Gracias a ti. Saludos cordiales.

  • @calizforever
    @calizforever 4 ปีที่แล้ว

    Excelente

  • @edsoncasso8432
    @edsoncasso8432 4 ปีที่แล้ว

    Una pregunta mi estimado, y ¿si quiero editar mas columnas de la misma fila?, como le haria.
    Gracias por su atención,

    • @EcoDev-Solutions
      @EcoDev-Solutions  4 ปีที่แล้ว

      Hola. En ese caso se debes configurar para que se muestren mas columnas y posteriormente especificar la columna a editar.

    • @proyecto2148
      @proyecto2148 4 ปีที่แล้ว

      @@EcoDev-Solutions Hola, necesito ayuda por favor, tengo una venta cuyo N° de comprobante es el 1, ejemplo:
      N° item cant precio
      1 Producto1 2 $50
      1 Producto2 3 $70
      1 Producto3 4 $90
      1 Producto4 5 $100
      lo que muchos deseamos es que al seleccionar el listbox aparezcan el contenido de dicha selección en textboxs, luego editar según lo seleccionado, ya que por obvias razones en otros códigos, primero debemos identificar un contenido que sea parecido ya sea en un textbox o combobox para luego editar los demás datos y si obviamente trabajamos con el N° de venta, este edita solo el primero y no las demás filas, dígame hasta aquí se me ha entendido, de no ser así voy a hacer un vídeo a lo que me refiero con más detalles, gracias.

    • @EcoDev-Solutions
      @EcoDev-Solutions  4 ปีที่แล้ว

      @@proyecto2148 Hola. Te recomiendo comentar en una publicación aparte ya que esta seria una "Respuesta" la que tu colocas en el hilo de lleascll. No obstante, puedes ver el siguiente enlace y ya te busco otro mas : th-cam.com/video/MWK7WduDtUM/w-d-xo.html

    • @EcoDev-Solutions
      @EcoDev-Solutions  4 ปีที่แล้ว

      @@proyecto2148 Este es el segundo enlace : th-cam.com/video/IeegXv3bcJk/w-d-xo.html

    • @EcoDev-Solutions
      @EcoDev-Solutions  4 ปีที่แล้ว

      @@proyecto2148 Y este es el ultimo pero responde mejor tu requerimiento.
      Me comentas como te fue.
      Saludos.
      Enlace : th-cam.com/video/PKL2lKIz9lQ/w-d-xo.html

  • @constructorasegnen
    @constructorasegnen 4 ปีที่แล้ว

    Use este codigo porque tengo varias culumnas pero ella lo que me agregar una fila nueva en ves de cambiar la que he selecionado en el list box este es el codigo
    With ListBox1
    Hoja21.Cells(.ListIndex + 7, 2) = BUSCAR2.Text
    .List(.ListIndex, 0) = BUSCAR2.Text
    Hoja21.Cells(.ListIndex + 7, 4) = TextBox1.Text
    .List(.ListIndex, 2) = TextBox1.Text
    Hoja21.Cells(.ListIndex + 7, 5) = TextBox2.Text
    .List(.ListIndex, 3) = TextBox2.Text
    Hoja21.Cells(.ListIndex + 7, 6) = TextBox3.Text
    .List(.ListIndex, 4) = TextBox3.Text

    End With
    EL nuemro 7 es donde empieza lo datos no se silo lleraria en todo para espeficiar donde empiza los datos
    dime que tengo mas y gracias por el tuto

    • @EcoDev-Solutions
      @EcoDev-Solutions  4 ปีที่แล้ว

      Hola
      Conoce sobre VBA?
      Lo que me muestra no está del todo correcto porque en el vídeo se está seleccionando de un ListBox y según la fila de elimina o edita una fila de la hoja. Porque tiene en las lineas de código los controles TextBox?

    • @constructorasegnen
      @constructorasegnen 4 ปีที่แล้ว

      @@EcoDev-Solutions porque le dejo el nombre por defecto pero son diferente textbox la macro funciona bien solo que ahora solo me modifica la primera columna con la primera linia que dice Buscar es un textbox pero lo demas no he podido logra que cambie en la demas columna

    • @EcoDev-Solutions
      @EcoDev-Solutions  4 ปีที่แล้ว

      @@constructorasegnen Es que está mal porque se especifica Rows y usted está usando la Cells() y Cells es una intercepcion entre filas y columnas. Pruebe con Rows

    • @constructorasegnen
      @constructorasegnen 4 ปีที่แล้ว

      @@EcoDev-Solutions Rows lo usaste para el boton eliminar mi intencion es solo poder modificar lo datos no eliminar

    • @EcoDev-Solutions
      @EcoDev-Solutions  4 ปีที่แล้ว

      @@constructorasegnen De ser así, en tu código estás colocando (.ListIndex + 7, 2) esto quiere decir que tienes la información en la hoja a partir de la fila 7 hacia abajo y tambien quiere decir que cargas el Listbox a partir de la fila 7 hacia abajo por medio del bucule Do While Loop desde la hoja Excel.
      Debes verificar donde tienes la fila de inicio de la lista de tu hoja para que vayas especificando la fila en el ListBox.
      Por otro lado y pongo tu código :
      With ListBox1
      Hoja21.Cells(.ListIndex + 7, 2) = BUSCAR2.Text
      .List(.ListIndex, 0) = BUSCAR2.Text
      Hoja21.Cells(.ListIndex + 7, 4) = TextBox1.Text
      .List(.ListIndex, 2) = TextBox1.Text
      Hoja21.Cells(.ListIndex + 7, 5) = TextBox2.Text
      .List(.ListIndex, 3) = TextBox2.Text
      Hoja21.Cells(.ListIndex + 7, 6) = TextBox3.Text
      .List(.ListIndex, 4) = TextBox3.Text

      End With
      Estas editando todo desde la segunda columna (B). LA columna A no la editas. Supongo porque es un código único.
      P.D. En mi ejemplo estoy colocando (.ListIndex + 2, 1) en donde 2 se separa en : 1 para moverme un indice de ListBox y 1 para moverme un indice de la hoja. Es por ello el numero 2 y la coma es para separar la fila de la columna.

  • @proyecto2148
    @proyecto2148 4 ปีที่แล้ว

    Amigo edita y elimina muy bien pero cuando pongo sólo números, no las edita y elimina, intenté poner la variable Double pero tampoco funcionó, cuál sería la solución por favor? Gracias...

    • @EcoDev-Solutions
      @EcoDev-Solutions  4 ปีที่แล้ว

      Lo mejor es ver el código que empleas para dar una mejor respuesta.
      Es bueno saber tambien a partir de cual fila inicia los datos, tambien especificar la columna.

    • @proyecto2148
      @proyecto2148 4 ปีที่แล้ว

      Bueno es su ejemplo que descargué en la descripción

    • @EcoDev-Solutions
      @EcoDev-Solutions  4 ปีที่แล้ว

      @@proyecto2148 En este vídeo no tengo el archivo de descarga. Quizás lo tomas de otro vídeo. Si gustas, puedes enviar el archivo que tienes a mi correo djgagarcia@gmail.com

    • @proyecto2148
      @proyecto2148 4 ปีที่แล้ว

      Ah cierto, disculpe, justamente estaba viendo varios vídeos del mismo tema, le enviaré por supuesto, saludos..

  • @rodriguez-g7086
    @rodriguez-g7086 4 ปีที่แล้ว

    Si no tiene un buscador inteligente es lo mismo que nada, tomando en cuenta que se maneja muchos datos.

    • @EcoDev-Solutions
      @EcoDev-Solutions  4 ปีที่แล้ว

      Hola.
      Para los conocedores de este control ListBox y sus limitantes esto sirve y puede ajustarse a sus necesidades. Para quienes no saben sobre este Listbox, es igual que nada.