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

  • Kobe

    veterán

    sziasztok

    van egy vezérlő űrlapom, amin a felhasználó kiválaszthatja, hogy milyen user nevekre és miylen státuszú tételekre szeretne egy riportot futtatni. Van pl 15 user, és 10 státusz, ő maga összeválogathatja, hogy mire akarja futtatni

    Ezt úgy oldottam emg, hogy vannak LsitBox ok a formon, az egyikben megjelenik az összes választható, és a user átmozgatja a kiválasztott tételeket egy üres ListBox ba

    Ezután futtatja a riportot. A nyers riportból pedig kitörlődik midnen olyan felhasználó és státusz sora ami nincs benne a választásban.

    Eddig úgy oldottam ezt meg hogy egy háttér-worksheeten tároltam ezeket az értékeket, és onnan olvastam ki mi nem kell, és ami nem felelt meg, annak a sorát törölte:

    Dim WF As WorsheetFunction
    Set WF = Application.WorksheetFunction
    'LR = Cells(Rows.Count, 2).End(xlUp).Row
    For i = LR To 2 Step -1
    If WF.CountIf(ThisWorkbook.Worksheets("Usernames").Range("A2:A20"), Range("B" & i)) + WF.CountIf(ThisWorkbook.Worksheets("Usernames").Range("A2:A20"), Range("C" & i)) = 0 Then
    Rows(i).EntireRow.Delete Shift:=xlUp
    End If
    Next i
    Application.ScreenUpdating = True

    ezt szeretném átírni úgy, hogy ne a worksheet Range-re kelljen hivatkozni, hanem a Username nevű Form ListBox2-es listboxában található értékekre:

    If WF.CountIf(ThisWorkbook.Worksheets("Usernames").Range("A2:A20"), Range("B" & i)) + WF.CountIf(ThisWorkbook.Worksheets("Usernames").Range("A2:A20"), Range("C" & i)) = 0 Then
    Rows(i).EntireRow.Delete Shift:=xlUp

    tudna valaki segíteni ezzel?

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