Eliminar datos de un listbox. Listindex definitivamente
Tengo un código que se ejecuta al doble click que en apariencia "elimina" los datos de las columnas que tiene mi listbox1. Listindex este es el código:
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Set a = ThisWorkbook.Sheets("productos")
filaedit = a.Range("B" & Rows.Count).End(xlUp).Row + 1
fila = Me.ListBox1.ListIndexIf ListBox1.ListCount = 0 Then
MsgBox "No Existen Productos Para Eliminar", , "AVISO"
Exit Sub
End IfOn Error GoTo Errores
respuesta = MsgBox("Seleccionaste " & ListBox1.List(fila, 1) & " ¿Deseas ELIMINAR?", vbYesNo + vbExclamation, "ADVERTENCIA")
'si la respuesta es NO cancela aquí
If respuesta = vbYes Then
FormPedido.Label21.Caption = "0.00"
FormPedido.ListBox1.List(fila, 0) = "0.00"
FormPedido.ListBox1.List(fila, 1) = "-"
FormPedido.ListBox1.List(fila, 2) = "0.00"
FormPedido.ListBox1.List(fila, 3) = "0.00"
'para sumar listbox
For ii = 0 To FormPedido.ListBox1.ListCount - 1 'ajustar nbre del control ListBox
tott = Val(tott) + FormPedido.ListBox1.List(ii, 3)
Next ii
FormPedido.Label21.Caption = Format(Val(tott), "##0.00") 'aqui va estar el error
FormPedido.Label22.Caption = CONVERTIRNUM(FormPedido.Label21.Caption)
End If
If respuesta = vbNo Then Exit Sub
'Aquí va el código
'de nuestra macro
'Damos por terminada nuestra macro
Exit Sub
'Esta etiqueta es la que nos permitirá
'asignar otro código para manera el error.
Errores:
MsgBox "No hay datos para eliminar", vbInformation, "AVISO"'Podemos u
End Sub
estos son los que se deben eliminar:
FormPedido.Label21.Caption = "0.00"
FormPedido.ListBox1.List(fila, 0) = "0.00"
FormPedido.ListBox1.List(fila, 1) = "-"
FormPedido.ListBox1.List(fila, 2) = "0.00"
FormPedido.ListBox1.List(fila, 3) = "0.00"
les puse "0.00" porque ya me canse y no busco como para de plano se elimine
he puesto esto:
FormPedido.Label21.Caption = "" o (empty)
FormPedido.ListBox1.List(fila, 0) = "" o (empty)
FormPedido.ListBox1.List(fila, 1) = "-"
FormPedido.ListBox1.List(fila, 2) = "" o (empty)
FormPedido.ListBox1.List(fila, 3) ="" o (empty)
Y en la segunda opción si los "borra" pero al cargar otro dato en el listbox este me DEBERÍA poner los datos en el listindex que ya elimine, ¿sin embargo los datos nuevos los pone después de los eliminados osea como si hubiera datos en el que se "elimino" como soluciono el problema?
con este se agrega nuevo dato en el listbox
'Por.Dante Amor
If FormPedido.Label2.Caption = "" Then
Label9.Caption = "MODO:SOLO CONSULTA"
MsgBox "No hay cliente para agregar producto", vbExclamation, "ERROR"
Exit Sub
End If
On Error GoTo Selectblanco
fil2 = ver_PRODUCTOS.ListBox1.ListIndex
If ver_PRODUCTOS.ListBox1.List(fil2, 1) = "0.00" Then
MsgBox ver_PRODUCTOS.ListBox1.List(fil2, 0) & " No es producto disponible", vbExclamation, "ERROR"
Exit Sub
End IfDim cantidad 'Nro
X:
'cantidad = InputBox("Ingrese Número", "Búsqueda")
'If IsNumeric(cantidad) Then
'If Val(cantidad) > 100 Then
'Hacer búsqueda
'Else
'MsgBox "Número menor a 100", vbExclamation + vbOKOnly, "Atención"
'GoTo x
'End If
'End Iffila = Me.ListBox1.ListIndex
cantidad = InputBox("Si estás seguro, captura la cantidad:", "Seleccionaste: " & ListBox1.List(fila, 0))
'If cantidad = 0 Or cantidad = "" Then
If IsNumeric(cantidad) Then
If Val(cantidad) > 0 Then
'agregar el producto al pedido
Sheets("productos").Activate
'FormPedido.ListBox1.AddItem Me.ListBox1.List(Me.ListBox1.ListIndex, 0) ' Producto
FormPedido.ListBox1.AddItem cantidad ' CANTIDAD
FormPedido.ListBox1.List(FormPedido.ListBox1.ListCount - 1, 1) = ver_PRODUCTOS.ListBox1.List(fila, 0) 'PRODUCTO
FormPedido.ListBox1.List(FormPedido.ListBox1.ListCount - 1, 2) = ver_PRODUCTOS.ListBox1.List(fila, 1) ' precio UNITARIOO
FormPedido.ListBox1.List(FormPedido.ListBox1.ListCount - 1, 3) = Format(ver_PRODUCTOS.ListBox1.List(fila, 1) * cantidad, ("""""#,##0.00")) ' importe
FormPedido.ListBox1.List(FormPedido.ListBox1.ListCount - 1, 4) = Format(ver_PRODUCTOS.ListBox1.List(fila, 2) * cantidad, ("""""#,##0.00"))
FormPedido.ListBox1.List(FormPedido.ListBox1.ListCount - 1, 5) = Format(ver_PRODUCTOS.ListBox1.List(fila, 3) * cantidad, ("""""#,##0.00"))FormPedido.ListBox1.List(FormPedido.ListBox1.ListCount - 1, 6) = Format(ver_PRODUCTOS.ListBox1.List(fila, 4), ("""""#,##0.00"))
FormPedido.ListBox1.List(FormPedido.ListBox1.ListCount - 1, 7) = Format(ver_PRODUCTOS.ListBox1.List(fila, 4) * cantidad, ("""""#,##0.00"))
FormPedido.ListBox1.ColumnWidths = "50 pt;520 pt;180 pt;90 pt;90 pt;90 pt;90 pt;"
Unload Meend sub