Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1156to1160
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro: jede zweite Zeile andersfarbig

Makro: jede zweite Zeile andersfarbig
Holger
Hallo,
aus diesem Forum habe ich unten stehendes Makro gefischt.
Funktioniert soweit alles, nur sobald durch AutoFilter die Auswahl verändert wird,
gerät natürlich alles durcheinander. Mit einer bedingten Formatierung möchte ich es ungern
lösen, mir ist eine reine VBA Lösung lieber.
Hierbei bräuchte ich ein Ereignis, welches das Makro nach jeder Änderung ausführt.
Sowas wie das WorkSheet Change Ereignis, das sich eben auf die Autofilter bzw den View bezieht.
Gibt es sowas oder welche Möglichkeiten gibt es, das Problem auf andere Weise zu lösen?
Sub RowsFärben()
Application.ScreenUpdating = False
'Variablen dimensionieren
Dim Zeile, ZeilenNr As Integer
'Schleife für die gesamte Selektion
For Zeile = 7 To ActiveSheet.UsedRange.Rows.Count
'Zeilen zählen
ZeilenNr = ZeilenNr + 1
'Für jede 2. Zeile Farbe festlegen
If ZeilenNr Mod 2 = 0 Then
Rows(Zeile).Interior.ColorIndex = 15
Rows(Zeile).Borders.Weight = xlThin
Rows(Zeile).Borders.ColorIndex = 16
Else
Rows(Zeile).Interior.ColorIndex = xlNone
Rows(Zeile).Borders.ColorIndex = xlNone
End If
Next
Application.ScreenUpdating = True
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro: jede zweite Zeile andersfarbig
07.05.2010 16:37:55
Ramses
Hallo
Probier mal
Sub RowsFärben()
    Application.ScreenUpdating = False
    'Variablen dimensionieren
    Dim Zeile, ZeilenNr As Integer
    With ActiveSheet.UsedRange.Rows
        .Interior.ColorIndex = xlNone
        .Borders.ColorIndex = xlNone
    End With
    ZeilenNr = 7
    For Zeile = 7 To ActiveSheet.UsedRange.Rows.Count
        With Rows(Zeile)
            If .Hidden = False Then
                If ZeilenNr Mod 2 = 0 Then
                    .Interior.ColorIndex = 15
                    .Borders.Weight = xlThin
                    .Borders.ColorIndex = 16
                    ZeilenNr = ZeilenNr + 1
                Else
                    ZeilenNr = ZeilenNr + 1
                End If
            End If
        End With
    Next Zeile
    Application.ScreenUpdating = True
End Sub

Gruss Rainer
Anzeige
AW: Makro: jede zweite Zeile andersfarbig
07.05.2010 21:56:29
Holger
Hi rainer,
das Makro liest sich super.
Nur frage ich mich, wie ich es nach jeder Änderung automatisch gestartet bekommen, denn auch das muss ja manuell gestartet werden. Verändert ein User den AutoFilter, müßte es ja wieder manuell gestartet werden, ich hätte es gerne automatisch bei jeder Änderung eines Autofilters.
AW: Makro: jede zweite Zeile andersfarbig
08.05.2010 01:46:52
Daniel
Hi
wenn dein Blatt einfe Formel enthält, die sich auf den gefilterten Bereich bezieht, dann löst das Anwenden oder Ändern des Autofilters das Worksheet_Calculate()-Ereignis aus, damit könntest du das Einfärben der Zellen starten.
Allerdings passiert das dann auch bei jeder anderen Neuberechnung im Blatt.
Gruß, Daniel
Anzeige

317 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige