Jump to content
  • Debido a la crisis sanitaria, hasta el día 31 de marzo, el registro al foro de Ayuda Excel será totalmente gratuito para facilitar el teletrabajo. Todos los registros que se produzcan entre estas fechas tendrán acceso gratuito ilimitado a la comunidad hasta el 30 de abril.

    Regístrate

    Si te surge alguna duda mientras estás trabajando en casa con Excel, ya tienes a quien preguntar.

    Espero que esta medida te sirva de ayuda. Frenar la expansión del coronavirus depende de todos. Sé responsable.

Sign in to follow this  
JSDJSD

Sumar diferentes criterios dentro de un listbox

Recommended Posts

Sería posible dentro del listbox incluir una línea por cada empresa que aparezca en la que se refleje la suma total de cada una de ellas ? En el caso de que filtremos el nombre de jose no muestre el listbox lo siguiente:                                                                                                                                              

    COD.CLIENTE CLIENTE    TOTAL    EMPRESA     Nº FACTURA                                                                                                                                              

          2                    Jose         26,62 €         A                P1/000051
          2                    Jose         12,00 €         Z                  1/003596
          2                    Jose       100,00 €         X                  1/000146
          2                    Jose         20,84 €         X                  1/000490                                                                                                                                .                                                                                                                                            

   Total A.................... 26.62 €                                                                                                                                                                                                                                                                                                 Total Z.................... 12.00 €                                                                                                                                                                                                                                                                                                 Total X................... 120.84 €

Prueba1.xlsb

Share this post


Link to post
Share on other sites

Hola, si esos mismos nombres/parámetros están en la hoja y no se entrecruzan/repiten con otros sugiero usar "Sumar.Si" o "WorkSheetFunction.SumIf" o similares, para no estar haciendo bucles cuya programación te resultará más tediosa (pero no imposible, claro). Es mi sugerencia.

Abraham Valencia

Share this post


Link to post
Share on other sites

Lo sé avalencia, pero mi propósito es aprender cómo hacerlo en el mismo listbox  y así ir adquiriendo conocimientos para poder aplicarlos en próximos proyectos, gracias por tu respuesta.

Share this post


Link to post
Share on other sites

Saludos amigos, @JSDJSD, coloca esto en tu formulario

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    Dim mDatos(2, 50) As Variant
    Dim j As Integer
    Dim n As Integer
    
    For n = 0 To Me.ListBox1.ListCount - 1
        For j = 0 To UBound(mDatos, 2)
            If Me.ListBox1.List(n, 3) = mDatos(0, j) Then
                mDatos(1, j) = CDbl(Replace(Me.ListBox1.List(n, 2), " €", "")) + CDbl(Replace(mDatos(1, j), " €", ""))
                Exit For
            Else
                If mDatos(0, j) = "" Then
                    mDatos(0, j) = Me.ListBox1.List(n, 3)
                    mDatos(1, j) = Me.ListBox1.List(n, 2)
                    Exit For
                End If
            End If
        Next
    Next
    Me.ListBox1.AddItem ""
    Me.ListBox1.AddItem ""
    For j = 0 To UBound(mDatos, 2)
        If mDatos(0, j) = "" Then
            Exit For
        End If
        Me.ListBox1.AddItem "Total " & mDatos(0, j)
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = ".........."
        Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Format(mDatos(1, j), "#,##0.00 €")
    Next
End Sub

ya tendras lo que estas buscando, tal vez NO es la mejor forma, seria mas comodo un sumar.si como dice el amigo @avalencia, pero bueno, es lo que tu buscas

 

suerte

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  



×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png