Cuanto falta para 5000 10000 15000 20000 de 5000 en 5000 etc vba

Dante Amor

¿Hola Dan como estas?

Sabes que estoy complicado con una macro que no logro resolver " a ratos creo que tengo la solución y aparece otro problema" le podría enviar mi archivo para que lo revise 2creo variables hago un calculo pero no me sale lo que quiero.

1 respuesta

Respuesta
2

Puedes explicarlo con varios ejemplos

Le envié mi archivo .. de antemano muchas gracias

saludos

Te anexo la macro

Private Sub txtbuscar_Change()
'Por Dante Amor
    Lb_buscar.Clear
    Lb_buscar.ColumnCount = 8
    Lb_buscar.ColumnWidths = "60;100;90;110;120;130;100"
    Set ht = Sheets("Temp")
    ht.Cells.Clear
    Hoja3.Columns(1).Copy ht.Range("A1")
    u3 = Hoja3.Range("A" & Rows.Count).End(xlUp).Row
    ut = ht.Range("A" & Rows.Count).End(xlUp).Row
    ht.Range("A1:A" & ut).RemoveDuplicates Columns:=1, Header:=xlYes
    ut = ht.Range("A" & Rows.Count).End(xlUp).Row
    For i = 2 To ut
        codigo = ht.Cells(i, "A").Value
        cuenta = WorksheetFunction.CountIf(Hoja3.Range("A2:A" & u3), codigo)
        Set b = Hoja3.Columns("A").Find(codigo, lookat:=xlWhole)
        fila = b.Row
        Lb_buscar.AddItem codigo                                                                'codigo
        If cuenta = 1 Then
            Lb_buscar.List(Lb_buscar.ListCount - 1, 1) = Hoja3.Cells(fila, "P").Value           'tot km
            Lb_buscar.List(Lb_buscar.ListCount - 1, 2) = 5000 + Hoja3.Cells(fila, "P").Value    'prox mant
            Lb_buscar.List(Lb_buscar.ListCount - 1, 3) = 5000                                   'faltan
            '
        Else
            inicial = Hoja3.Cells(fila, "P").Value
            wsuma = WorksheetFunction.SumIf(Hoja3.Range("A2:A" & u3), codigo, Hoja3.Range("P2:P" & u3))
            faltan = 5000 - (wsuma - inicial)
            Lb_buscar.List(Lb_buscar.ListCount - 1, 1) = wsuma                                  'tot km
            Lb_buscar.List(Lb_buscar.ListCount - 1, 2) = inicial + 5000                         'prox mant
            Lb_buscar.List(Lb_buscar.ListCount - 1, 3) = faltan                                 'faltan
            '
            Set b = Hoja3.Columns("A").Find(codigo, lookat:=xlWhole, SearchDirection:=xlPrevious)
            fila = b.Row
        End If
        Lb_buscar.List(Lb_buscar.ListCount - 1, 4) = Format(Hoja3.Cells(fila, "R").Value, "short date")
        Lb_buscar.List(Lb_buscar.ListCount - 1, 5) = Hoja3.Cells(fila, "Q").Value
        Lb_buscar.List(Lb_buscar.ListCount - 1, 6) = 365 + Hoja3.Cells(fila, "Q").Value
        Lb_buscar.List(Lb_buscar.ListCount - 1, 7) = (365 + Hoja3.Cells(fila, "Q").Value) - Date
    Next
End Sub

[Sal u dos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas