Sumar los valores de una columna (Listbox) según la selección de combobox.

Tengo datos en una hoja (Hoja1) como se muestra en la imagen de ejemplo.

Y tengo un formulario con un listbox, un textbox y un combobox. De momento cargo el listbox y el combobox, pero no consigo que, al seleccionar un dato en el combobox (Caja1, Caja2, Caja3) me muestre en el textbox la suma según lo seleccionado en el combo.

¿Alguna ayudita?

1 Respuesta

Respuesta
2

Puedes poner aquí todo el código que tengas.

Cómo cargaste los datos en el combo y cómo en el listbox.

Suponiendo que en la columna 1 del listbox estás cargando el valor y en la colunma 2 del listbox estás cargando la caja. Y si el valor en el listbox no tiene formato.

También agrega una imagen para ver cómo están los valores en el listbox. Tal vez el problema es que manejas coma (, ) como separador de decimales, VBA maneja ( . ) como separador de decimales.

Te anexo un ejemplo, prueba y me comentas.

Private Sub ComboBox1_Change()
  Dim i As Long
  Dim suma As Double
  '
  TextBox1.Value = ""
  'Si no seleccionas un dato del combo
  If ComboBox1.ListIndex = -1 Then Exit Sub
  'si el listbox está vacío
  If ListBox1.ListCount = 0 Then Exit Sub
  '
  For i = 0 To ListBox1.ListCount - 1
    If ListBox1.List(i, 1) = ComboBox1.Value Then
      suma = suma + ListBox1.List(i, 0)
    End If
  Next
  TextBox1.Value = suma
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas