Cambia las macros anteriores por estas que te estoy enviando.
- Te carga los 2 combos producto y región, considerando las columnas que pusiste en la imagen.
- Puedes sumar por producto, por la combinación de producto y región y solamente por región.
- Te suma las ventas de la columna "Z"
- Ahora sí puse la parte para limpiar los textbox
Private Sub ComboBox1_Change()
'Por.Dante Amor
SumarMeses
End Sub
'
Private Sub ComboBox2_Change()
'Por.Dante Amor
SumarMeses
End Sub
Sub SumarMeses()
'Por.Dante
Set h1 = Sheets("BaseDatos")
limpiar
'
For i = 2 To Range("Z" & Rows.Count).End(xlUp).Row
If ComboBox1 = "" Then pro = "*" Else pro = ComboBox1
If ComboBox2 = "" Then reg = "*" Else reg = ComboBox2
'
If h1.Cells(i, "W") Like pro And _
h1.Cells(i, "L") Like reg Then
Select Case h1.Cells(i, "E")
Case 1: TextBox1 = Val(TextBox1) + h1.Cells(i, "Z")
Case 2: TextBox2 = Val(TextBox2) + h1.Cells(i, "Z")
Case 3: TextBox3 = Val(TextBox3) + h1.Cells(i, "Z")
Case 4: TextBox4 = Val(TextBox4) + h1.Cells(i, "Z")
Case 5: TextBox5 = Val(TextBox5) + h1.Cells(i, "Z")
Case 6: TextBox6 = Val(TextBox6) + h1.Cells(i, "Z")
Case 7: TextBox7 = Val(TextBox7) + h1.Cells(i, "Z")
Case 8: TextBox8 = Val(TextBox8) + h1.Cells(i, "Z")
Case 9: TextBox9 = Val(TextBox9) + h1.Cells(i, "Z")
Case 10: TextBox10 = Val(TextBox10) + h1.Cells(i, "Z")
Case 11: TextBox11 = Val(TextBox11) + h1.Cells(i, "Z")
Case 12: TextBox12 = Val(TextBox12) + h1.Cells(i, "Z")
End Select
End If
Next
End Sub
'
Sub limpiar()
'Por.Dante Amor
TextBox1 = ""
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox7 = ""
TextBox8 = ""
TextBox9 = ""
TextBox10 = ""
TextBox11 = ""
TextBox12 = ""
End Sub
Private Sub UserForm_Activate()
'Por.Dante Amor
Set h1 = Sheets("BaseDatos")
For i = 2 To h1.Range("W" & Rows.Count).End(xlUp).Row
agregar ComboBox1, h1.Cells(i, "W")
agregar ComboBox2, h1.Cells(i, "L")
Next
End Sub
'
Sub agregar(combo As ComboBox, dato As String)
'Por.Dante Amor
For i = 0 To combo.ListCount - 1
Select Case StrComp(combo.List(i), dato, vbTextCompare)
Case 0: Exit Sub 'ya existe en el combo y ya no lo agrega
Case 1: combo.AddItem dato, i: Exit Sub 'Es menor, lo agrega antes del comparado
End Select
Next
combo.AddItem dato 'Es mayor lo agrega al final
End Sub
Saludos.Dante Amor