Modificar una fila de un listbox - VBA

Hola como puedo hacer para que con el botón eliminar + apretando una fila del LISTBOX_ PEDIDO me borre esa fila

1 respuesta

Respuesta
1

No he podido ver mi correo, pero qué opinas de la propuesta de utilizar solamente un listox, de esa manera será más fácil agregar, modificar y eliminar.

Si es que no hay mayor problema para calcular el "total" no tendría ni un problema.

Este es el código para ir agregando cada Carta.

Private Sub CMB_AGREGAR_Click() 'AGREGAR DEL CBOX A LA LBOX
'Botón AGREGAR
  Dim n As Long
  Dim tot As Double, nPrecio As Double
  'verifica si la carta tiene un valor
  If CBOX_CARTA.Value = "" Or CBOX_CARTA.ListIndex = -1 Then
    MsgBox "Selecciona una carta"
    CBOX_CARTA.SetFocus
    Exit Sub
  End If
  '
  If TBOX_CANTIDAD.Value = 0 Or TBOX_CANTIDAD = "" Then
    MsgBox "Captura una cantidad"
    TBOX_CANTIDAD.SetFocus
    Exit Sub
  End If
  '
  n = CBOX_CARTA.ListIndex + 4
  nPrecio = Hoja6.Range("G" & n).Value
  With LBOX_PEDIDO
    .AddItem
    .List(.ListCount - 1, 0) = CBOX_CARTA.Value
    .List(.ListCount - 1, 1) = TBOX_CANTIDAD.Value
    .List(.ListCount - 1, 2) = Format(nPrecio, "#,##0.00")
    .List(.ListCount - 1, 3) = Format(Val(TBOX_CANTIDAD.Value) * nPrecio, "#,##0.00")
    If TBOX_TOTAL = "" Then tot = 0 Else tot = CDbl(TBOX_TOTAL)
    TBOX_TOTAL = Format(tot + .List(.ListCount - 1, 3), "#,##0.00")
  End With
  '
  'PARA QUE BORRE AGREGANDO UN PRODUCTO
  CBOX_CARTA.Value = Empty 'limpia carta
  TBOX_CANTIDAD.Value = Empty 'limpia cantidad
  PRECIO.Caption = ""
End Sub

Este es el nuevo diseño para los pedidos.


Botón eliminar:

Private Sub CommandButton4_Click() 'BOTON ELIMINAR
  Dim i As Long, n As Long
  Dim tot As Double
  '
  n = LBOX_PEDIDO.ListIndex
  If n = -1 Then
    MsgBox "Seleciona un registro del listbox"
    Exit Sub
  End If
  LBOX_PEDIDO.RemoveItem (n)
  '
  'actualizar total
  For i = 0 To LBOX_PEDIDO.ListCount - 1
    tot = tot + CDbl(LBOX_PEDIDO.List(i, 3))
  Next
  TBOX_TOTAL = tot
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas