Keresés

Új hozzászólás Aktív témák

  • Mutt

    aktív tag

    válasz Kobe #19882 üzenetére

    Hello,

    1. A B-oszlopban a dátum van vagy "XYZ"?
    Az IF részben egyszer szöveget, keresel másszor dátumot.
    2. A Format-os rész Datediff függvénnyel helyettesítendő.
    3. Now helyett Date adja meg az aktuális dátumot.
    4. Hátulról kell kezdeni a tőrlést.
    5. Select-et érdemes mellőzni.

    Itt az én változatom (A-oszlopban dátum, B-ben szöveg):
    If Menu.CheckBoxDateRangeFilter.Value = True Then
    lastrow = Cells.Find(what:="*", searchorder:=xlByRows, searchdirection:=xlPrevious).Row

    Do
    If (Cells(lastrow, "B").Value <> "" And Cells(lastrow, "B").Value <> "XYZ") _
    Or DateDiff("d", Date, Cells(lastrow, "A").Value) > Menu.TextBoxDaysAfter.Value Then
    Rows(lastrow).Delete
    End If
    lastrow = lastrow - 1
    Loop Until lastrow = 1
    End If

    Ami nem volt tiszta, hogy igazából mely sorokat kell törölni, a fenti kód azokat tőrli ahol
    - van szöveg a B-ben és az nem XYZ (üres szöveges sorokat meghagyja)
    - és ahol a dátum kívül van a megadott napokon.

    üdv.

    A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel

Új hozzászólás Aktív témák