Suma cantidad si existe articulo en listbox

Estoy haciendo un sistema de inventario en excel en el cual desde unos textbox se van agregando articulos a un listbox y muchas veces se me repiten estos.

Como hago para que si existe un articulo agregado en listbox solo se le sume la cantidad de nuego ingreso que pongo en el textbox elegido para cantidad.

Gracias adelantada

Este es el código del botón para pasar al listbox


'Botón para pasar al listbox
If TextBox3 = "" Or TextBox3 = 0 Then
MsgBox ("Debe ingresar una cantidad para poder continuar")
TextBox3 = ""
TextBox3.SetFocus
Exit Sub
ElseIf TextBox4 = "" Or TextBox4 = 0 Then
MsgBox ("articulo no disponible para venta")
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
Exit Sub
Else
With ListBox2
.ColumnCount = 5
.ColumnWidths = "50 pt;220 pt;30 pt;50 pt;50 pt"
.AddItem TextBox1
.List(ListBox2.ListCount - 1, 1) = TextBox2
.List(ListBox2.ListCount - 1, 2) = TextBox3
.List(ListBox2.ListCount - 1, 3) = Format(TextBox4, "###,##0.00")
.List(ListBox2.ListCount - 1, 4) = Format(TextBox3 * TextBox4, "###,##0.00")
End With
CommandButton2.Enabled = True
CommandButton3.Enabled = True
End If

TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""

1 Respuesta

Respuesta
1

H o l a:

Envíame tu archivo para adaptar el código.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Roberto Pineda” y el título de esta pregunta.

Saludos Dante

Envié el archivo a tu correo

Gracias

H o l a:

Las propiedades del listbox2 las puedes poner en el evento initialize:

Private Sub UserForm_Initialize()
'
    'Ocultar hoja de trabajo
    'Application.Visible = False
    Inventarix.Select
    With lsArticulos
        .ColumnCount = 2
        .ColumnWidths = "50 pt;220 pt"
        .ColumnHeads = True
    End With
    lsArticulos.RowSource = "tbInventario"
    CommandButton1.Enabled = False
    CommandButton2.Enabled = False
    CommandButton3.Enabled = False
    'Bloqueo de Textbox
    Me.TextBox1.Locked = True
    Me.TextBox2.Locked = True
    Me.TextBox4.Locked = True
    '
    ListBox2.ColumnCount = 4
    ListBox2.ColumnWidths = "50 pt;220 pt;30 pt;50 pt"
'
End Sub

Este es el código para sumar la cantidad:

Private Sub CommandButton1_Click()
    'Botón para pasar al listbox
    If TextBox3 = "" Or TextBox3 = 0 Then
        MsgBox ("Debe ingresar una cantidad para poder continuar")
        TextBox3 = ""
        TextBox3.SetFocus
        Exit Sub
    End If
    'Act.Por.Dante Amor
    With ListBox2
        For i = 0 To .ListCount - 1
            If .List(i, 0) = TextBox1 Then
                existe = True
                Exit For
            End If
        Next
        If existe Then
            .List(i, 2) = CDbl(.List(i, 2)) + CDbl(TextBox3)
        Else
            .AddItem TextBox1
            .List(ListBox2.ListCount - 1, 1) = TextBox2
            .List(ListBox2.ListCount - 1, 2) = TextBox3
            .List(ListBox2.ListCount - 1, 3) = TextBox4
        End If
    End With
    CommandButton2.Enabled = True
    CommandButton3.Enabled = True
    '
    TextBox1 = ""
    TextBox2 = ""
    TextBox3 = ""
    TextBox4 = ""
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas