Eliminar filas desde un listbox con 8 columnas
Estoy realizando una pequeña aplicación para registrar las ventas de un restaurante mediante un formulario que cuenta con varios textbox, un listbox de 8 columnas y varios botones los cuales sirven para insertar los datos. Todo lo hace perfecto, el problema es que necesito que al seleccionar una fila del listbox me elimine esa fila y también lo elimine de la hoja de cálculo.
Lo que hace el programa es lo siguiente: primero agrega los datos de los 8 textbox a las 8 columnas desde la A hasta la H, aquí agrega todas las ventas de todos los días del año, después hace un filtro avanzado que selecciona las filas que coincidan con la fecha de hoy y las coloca desde la columna QUE hasta la columna R y después esta selección la muestra en el listbox usando la propiedad ROWSOURCE.
Ya he intentado buscando por varios días en la web para lograr eliminar las filas pero no he conseguido una respuesta que se adapte a mis necesidades, te dejo el último código que intenté para lograr hacerlo.
Dim valor, final As String
Sheets("Ventas").Select
valor = UserForm1. ListDts. Value 'El problema es aquí porque el listbox tiene varias columnas y no sé como hacer para que busque algún valor de toda la fila y luego lo busque en la hoja "Ventas" para luego eliminarlo y volver hacer el filtro con los nuevos datos coincidentes'
Range("a1").Select
ActiveCell.End(xlDown).Select
final = ActiveCell.Address
Range("h1", final).Select
Selection.Find(what:=valor).Select
If ActiveCell.Value = valor Then
Selection.EntireRow.Delete
End If
Espero haberme explicado bien y de antemano muchas gracias por tu tiempo
Lo que hace el programa es lo siguiente: primero agrega los datos de los 8 textbox a las 8 columnas desde la A hasta la H, aquí agrega todas las ventas de todos los días del año, después hace un filtro avanzado que selecciona las filas que coincidan con la fecha de hoy y las coloca desde la columna QUE hasta la columna R y después esta selección la muestra en el listbox usando la propiedad ROWSOURCE.
Ya he intentado buscando por varios días en la web para lograr eliminar las filas pero no he conseguido una respuesta que se adapte a mis necesidades, te dejo el último código que intenté para lograr hacerlo.
Dim valor, final As String
Sheets("Ventas").Select
valor = UserForm1. ListDts. Value 'El problema es aquí porque el listbox tiene varias columnas y no sé como hacer para que busque algún valor de toda la fila y luego lo busque en la hoja "Ventas" para luego eliminarlo y volver hacer el filtro con los nuevos datos coincidentes'
Range("a1").Select
ActiveCell.End(xlDown).Select
final = ActiveCell.Address
Range("h1", final).Select
Selection.Find(what:=valor).Select
If ActiveCell.Value = valor Then
Selection.EntireRow.Delete
End If
Espero haberme explicado bien y de antemano muchas gracias por tu tiempo
3 Respuestas
Respuesta de minnahikaru
2
Respuesta de antares18
1
Respuesta de jftamames
-1