Keresés

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

  • addikt

    válasz Fferi50 #54144 üzenetére

    Hát, közben kiderült, hogy sehogy.
    Van egy VBA, ami megcsinálja pont azt, amit kell, de nem tudom megbízhatóan triggerelni Autofilterre, szóval nem működik megbízhatóan. Vagy csak nagyon eröltetett megoldással lehetne, (pl másodpercenként időzítéssel betenni valami check-et, de ezt túl favágó megoldásnak érzem).

    Van arra ötlet, hogy mivel lehetne triggerelni Autofilterre a VBA kódot? Ez lenne a legtisztább.

    Ha nincs akkor megpróbálom táblázatként. Tegnap futottam ezzel egy gyors 5 perces kört, akkor nem működött (hiába filtereztem, nem csíkozta át). De lehet, hogy rosszul csináltam, mert táblázatokat szinte sosem használok, szóval nincs tapasztalatom vele.
    Vagy esetleg ha táblázatként van benne, akkor már könnyebb triggerelni a VBA-t?

    Amúgy ez a kód (megkeresi a range utolsó+1 sorát, aztán, azt becsíkozza, majd a végén az összes többi sort befeketézi)
    Private Sub ZEBRA_STRIPE()
        Dim ws As Worksheet
        Dim rng As Range
        Dim rowIndex, visibleRow, lastRow As Long
        
        Set ws = Sheet1
        lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).row + 1
        Set rng = ws.Range("A4:BU" & lastRow)
        
        Application.ScreenUpdating = False
        visibleRow = 1
        
        For rowIndex = 4 To rng.Rows.Count + 3
            If Not ws.Rows(rowIndex).Hidden Then
                If visibleRow Mod 2 = 0 Then
                    ws.Rows(rowIndex).Interior.color = RGB(220, 220, 220)
                Else
                    ws.Rows(rowIndex).Interior.ColorIndex = xlNone
                End If
                visibleRow = visibleRow + 1
            End If
        Next rowIndex 
        ws.Rows(lastRow + 1 & ":" & ws.Rows.Count).Interior.color = RGB(0, 0, 0)
      Application.ScreenUpdating = True
    End Sub

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

Hirdetés