Makro zur Formatierung von Zeilen

Hallo,

ich habe eine ellenlange Tabelle mit Zahlen, die ich zur besseren Lesbarkeit so formatieren möchte, dass jede zweite Zeile hellgrau hinterlegt ist. Dass müsste doch auch mit einem Makro zu machen sein: formatiere die aktuelle Zeile grau, gehe zwei Zeilen tiefer usw. Mit Aufnehmen klappt das nicht, weil er dann immer dieselbe Zeile formatiert. Wer kann mir helfen? Ist wahrscheinlich ziemlich einfach, oder? Aber meine bescheidenen Makrokenntnisse lassen mich leider im Stich…

Vielen Dank schon mal im voraus.

Oliver

ohne Makro geht es auch
Hi,

versuchs doch über Format-Autoformat, Optrionen anklicken und alles außer Muster deaktivieren, dann zB „Liste1“ auswählen (bevor du dir mit nem Makro die Zähne ausbeisst).

Gruß

Yoyi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

interessante Alternative, da habe ich gar nicht drangedacht. Funktioniert bei mir nur leider nicht so gut, da bei mir nicht alle Zeilen gleich aussehen, d.h. einige fett, einige kursiv, dann Leerzeilen und dann z.B. Formeln. Excel versucht dann daraus Überschriften zu erkennen und formatiert dann nicht wirklich jede zweite Zeile wie es sein sollte.

Trotzdem Danke für den Tipp

Oliver

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Oliver,
hier ein kleines Makro.
Ermittelt die letzte Zeile und färbt ab der ersten Zeile jede zweite Zeile ein.
Einfach im VB-Editor nach „Diese Arbeitsmappe“ kopieren

Sub Zeilen\_Einfaerben()
Dim ZeilenAnzahl% 'sucht die letzte Zeile
Dim x% 'einfach ein Zähler

ZeilenAnzahl = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For x = 1 To ZeilenAnzahl Step 2 'von Zeile 1 an jede 2. Zeile, eventuell anpassen
 Range("A" & x & ":C" & x).Interior.ColorIndex = "15"
 'ColorIndex gibt die Farbe an, 15 = hellgrau
 'Weitere Farben sind in der Hilfe zu finden
 'Ich hab hier A bis C gewählt. Mußt Du anpassen.
Next x 'und weiter, bis die letzte Zeile erreicht ist
End Sub

Bei Fragen, nur zu!

Grüße, Fritz

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Korrektur!
Es lebe der Denkfehler!
Ab der zweiten Zeile natürlich!

Sub Zeilen\_Einfaerben()
Dim ZeilenAnzahl% 'sucht die letzte Zeile
Dim x% 'einfach ein Zähler

ZeilenAnzahl = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For x = **2** To ZeilenAnzahl Step 2 'von Zeile **2** an jede 2. Zeile, eventuell anpassen
 Range("A" & x & ":C" & x).Interior.ColorIndex = "15"
 'ColorIndex gibt die Farbe an, 15 = hellgrau
 'Weitere Farben sind in der Hilfe zu finden
 'Ich hab hier A bis C gewählt. Mußt Du anpassen.
Next x 'und weiter, bis die letzte Zeile erreicht ist
End Sub

Grüße, ich

Nochwas ohne Makro…
Hi Oliver,

ich hätte da auch noch eine etwas umständliche ohne-Makro-Lösung, die aber funktionieren müsste:

Füge eine Spalte ein, gib dann in Zeile 1 eine ‚1‘ ein, in Zeile 2 eine ‚2‘. Dann kopier das runter bis ans Ende Deiner Tabelle, so dass sich 1 und 2 immer abwechseln. Dann kannst Du nach der 1 oder der 2 filtern und die Zellen z. B. grau hinterlegen. Am Ende kannst Du die Spalte wieder löschen.

Ich hoffe, das war verständlich! :wink:

Schöne Grüße,

Tonyfost

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

it’s so easy, ohne Makro
Hallo Oliver,
markiere den kompletten Bereich der ‚gefärbt‘ werden soll.
Dann Format–>Bedingte Formatierung, dort „Formel ist“ auswählen und
=ZEILE()/2=GANZZAHL(ZEILE()/2)
eingeben, nettes Färbchen aussuchen und feddisch.
Gruß
Reinhard

ich habe eine ellenlange Tabelle mit Zahlen, die ich zur
besseren Lesbarkeit so formatieren möchte, dass jede zweite
Zeile hellgrau hinterlegt ist. Dass müsste doch auch mit einem
Makro zu machen sein: formatiere die aktuelle Zeile grau, gehe
zwei Zeilen tiefer usw. Mit Aufnehmen klappt das nicht, weil
er dann immer dieselbe Zeile formatiert. Wer kann mir helfen?
Ist wahrscheinlich ziemlich einfach, oder? Aber meine
bescheidenen Makrokenntnisse lassen mich leider im Stich…

=rest(zeile();2)
Hi,

gut! aber kürzer, ergo besser: =rest(zeile();2)

Für die Nichtprofis: der Ausdruck liefert wechselnd 1 oder 0, und Excel wandelt den Datentyp in boolean um, wobei 1=WAHR und 0=FALSCH

Gruß

Yoyi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

1 Like

Auch noch ´ne Variante, falls alles andere nicht funktioniert - mit zwei Hilfsspalten:

A1: 1
A2: =A1+1
A3: unten ausfüllen
...

B1: 1
B2: =-B1
B3: unten ausfüllen
...
  • Dann beide Spalten markieren, kopieren und Inhalte einfügen (damit die Formeln weg sind).
  • Danach nach Spalte B sortieren.
  • Nun entweder die Zeilen mit -1 oder die mit 1 markieren und einfärben.
  • Dann wieder nach Spalte A sortieren, um den vorherigen Zustand wieder herzustellen.
    Dann die Spalten A und B löschen.

„A“ und „B“ können natürlich beliebige andere Spalten sein.
So eine Vorgehensweise hilft auch oft bei anderen Problemen weiter, wenn Filter und Sortierungen der vorhandenen Daten versagen.

Kristian