Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1456to1460
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

Alle zwei Zeilen grau markieren, VBA makro

Alle zwei Zeilen grau markieren, VBA makro
11.11.2015 11:19:51
karin
Guten Tag,
ich benötige in Makro, dass mir alle zwei Zellen die komplette Zeile grau hinterlegt.
Mit der bedingten Formatierung
=REST(ZEILE();2)=0
hat das super funktioniert. Allerdings ist der Bereich variabel, betroffen sind zwar immer die Spalten A:H, aber die Zeilen sind unterschiedlich lang.
Das Makro sollte quasi bis zur letzen Zeile alle zwei Zellen markieren.
Freue mich über jede Hilfe.
MFG
Karin

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Alle zwei Zeilen grau markieren, VBA makro
11.11.2015 11:25:48
Bernd
Hi,
was meinst Du mit "zur letzten Zeile alle zwei Zellen markieren"?
Jede Zelle mit Wert grau formatieren und nicht die ganze Zeile, oder wie?
mfg Bernd

AW: Alle zwei Zeilen grau markieren, VBA makro
11.11.2015 11:28:17
Bernd
Hi, wenn ja probiere es mit dieser Formel in der bedingten Formatierung:
=WENN(A1"";REST(ZEILE();2)=1;"")
mfg Bernd

AW: Alle zwei Zeilen grau markieren, VBA makro
11.11.2015 12:52:49
karin
Sorry, die komplette Zeile von A:H sollte dann grau markiert werden.
Viele Grüße

AW: Alle zwei Zeilen grau markieren, VBA makro
11.11.2015 13:14:12
Daniel
Hi
das regelst du darüber, dass du die Spalten A-H markierst, wenn du die Bedingte Formatierung mit dieer Regel einrichtest.
Gruß Daniel

AW: Alle zwei Zeilen grau markieren, VBA makro
11.11.2015 11:31:49
Sepp
Hallo Karin,
das geht z. B. so.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub jedeZweite()
Dim rng As Range
Dim lngR As Long

With Tabelle1
  Set rng = .Range("A2:H2")
  For lngR = 4 To Application.Max(4, .Cells(.Rows.Count, 1).End(xlUp).Row) Step 2
    Set rng = Union(rng, .Range(.Cells(lngR, 1), .Cells(lngR, 8)))
  Next
End With
rng.Interior.Color = RGB(225, 225, 225)

Set rng = Nothing
End Sub

Gruß Sepp

Anzeige
AW: Alle zwei Zeilen grau markieren, VBA makro
11.11.2015 12:56:16
karin
Vielen Dank!Es klappt, allerdings handelt es sich bei dem Datensatz den ich habe um gefilterte Werte. deshalb ist die Markierung logischerweise nicht gleichmäßig. Kann man da was machen? Viele Grüße

AW: Alle zwei Zeilen grau markieren, VBA makro
11.11.2015 13:12:59
Daniel
Hi
markiere mal den Bereich und formatiere ihn als Tabelle (Einfügen - Tabellen - Tabelle)
dann wird diese Tabelle standardmässig mit dieser Wechselfärbung formatiert.
diese bleibt dann auch beim Filtern erhalten.
Allerdings hat die Formatierung als Tabelle noch ein paar weitere Effekte.
die einfachste Methode die Wechselfärbung auch bei Filterungen aufrecht zu erhalten ist folgende:
1. füge eine Hilfsspalte ein.
2. in die erste Zeile der Hilfsspalte (Überschriftenzeile) kommt der Wert FALSCH (als Wahrheitswert)
3. in die erste Datenzeile (Zeile 2) der Hilfsspalte kommt dann folgende Formel (Hilfsspalte sei Spalte X):
=Wenn(Teilergebnis(3;A2)=0;X1;Nicht(X1))
4. verwende jetzt als Regel für die Bedingte Formatierung einfach: =$X1
das Prinzip ist folgendes:
die Formel in X prüft als erstest, ob die Zeile aus- oder eingeblendet ist.
ist sie ausgeblendet, wird einfach der Wert aus der Vorgängerzelle übernommen.
ist sie eingeblendet, wird der Vorgängerwert negiert, so dass bei den sichtbaren Zellen immer abwechselnd WAHR / FALSCH steht.
gruß Daniel

Anzeige
AW: Alle zwei Zeilen grau markieren, VBA makro
11.11.2015 13:53:42
Sepp
Hallo Karin,
wenn in deineer Liste auch berechnete Felder sind, dann geht das auch in einer gefilterten Liste.
In das Modul der entsprechenden Tabelle:
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Calculate()
Dim rng As Range, rngF As Range, rngC As Range

Set rngF = Range("A1").CurrentRegion
rngF.Interior.ColorIndex = xlNone
For Each rng In rngF.Columns(1).Cells
  If Application.Subtotal(3, Range(rngF.Cells(1, 1), rng)) Mod 2 = 0 Then
    If rngC Is Nothing Then
      Set rngC = rng.Resize(1, 8)
    Else
      Set rngC = Union(rngC, rng.Resize(1, 8))
    End If
  End If
Next

If Not rngC Is Nothing Then rngC.Interior.Color = RGB(225, 225, 225)

Set rng = Nothing
Set rngF = Nothing
Set rngC = Nothing
End Sub

Allerdings würde ich dazu die bedingte Formatierung verwenden ( http://www.excelformeln.de/tips.html?welcher=38 ), oder den Bereich als Tabelle formatieren, wie es Daniel schon vorgeschlagen hat.
Gruß Sepp

Anzeige
AW: Alle zwei Zeilen grau markieren, VBA makro
11.11.2015 14:29:42
karin
Das klappt super, Dankeschön :)

Na, dann doch nicht mehr offen! Gruß owT
11.11.2015 16:23:36
Luc:-?
:-?

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige