Hallo,
meine Name ist Guido und ich habe eine Frage an einen Excel-Experten. Ich habe schon ausgiebig gegooglet und in der Excel-Hilfe gesucht…aber komme einfach auf keine Lösung
Vielleicht kannst Du mir mit einem Tipp weiterhelfen?
Ich habe eine umfangreiche Exceltabelle mit verschiedenen Zellen-Formatierungen (u.a. bedingte Formatierungen).
Jetzt habe ich eine Spalte in der ggf. ein „NA“ für not aplicable steht.
Wie gesagt, die Zeilen sind unterschiedlich formatiert. So sind u.a. in der 1. Spalte nicht mehr aktuelle Einträge durchgestrichen, in anderen Spalten sind z.B. Ausrichtung zentriert usw.
Aufgabenstellung:
Ich möchte jede Zeile der Tabelle, in der sich ein „NA“ in der Spalte B befindet, bedingt formatieren wie z.B. grau füllen.
—> Tabellenzeile markiert, bedingte Formatierung, Formel: =$B1=„NA“
Für eine Zeile ist das kein Problem. Aber die Tabelle enthält 900 Zeilen u. 20 Spalten! Ein kopieren der Zellen samt bedingter Formatierung ist ohne Zerstörung vorhandener Formatierung schwierig.
Wenn ich z.B. die Zeilen kopiere, werden auch andere Formatierungen wie z.B. „durchgestrichen“ übernommen, was aber nicht gewünscht ist.
Für die Zeile bräuchte ich jetzt einen allgemeinen Bezug (Platzhalter für aktuelle Zeile, Zeigerprogrammierung, Index???)auf die jeweilige Zeile wie z.B. ZEILE().
Am besten sowas wie =$(ZEILE() spalte(B))=„NA“…
Kannst Du mir da weiterhelfen?
Vielen Dank im Voraus!
etwas verzweifelte Grüße
Guido aus Darmstadt
Hallo Guido,
versuch mal folgendes:
Nachfolgendes Makro tabellenbezogen (also z.B. unter „Tabelle 1“) kopieren. Nicht modulbezogen.
Sobald in Spalte „B“ das NA geschrieben wird und mit ENTER bestätigt wird, wird die Zeile grau hinterlegt - vorhandene bisherige bedingte Formatierungen bleiben erhalten. Wird das NA wieder gelöscht und mit ENTER bestätigt, wird die graue Formatierung herausgenommen - auch hier bleiben die alten bedingten Formatierungen erhalten.
Ich hab es erfolgreich getestet.
Hier das Makro:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
zeile = ActiveCell.Row
If Range(„b“ & zeile) = „NA“ Then
Rows(zeile).Interior.ColorIndex = 15
Else
Rows(zeile).Interior.ColorIndex = xlNone
End If
Hallo Guido,
mit etwas Verspätung (war gestern unterwegs) kommt hier nun die Antwort (für Excel 2007 oder 2010):
* Die markierst Deine KOMPLETTE Tabelle (da sollte dann die Spalte B für die "NA"s mit enthalten sein, korrekt?).
* Dann wählst Du „Bedingte Formatierung“ -> Hervorheben von Zellen -> Weitere Regeln -> Formel zur Ermittlung…
* Als Formel trägst Du (wie von Dir schon ganz richtig gemacht) ein: =$B1=„NA“
* „Formatieren“ -> einen gewünschten Hintergrund / Rahmen, wasauchimmer definieren
* OK
Das sollte es auch schon gewesen sein.
Der Trick ist immer, dass Du für die bedingte Formatierung die gesamte Tabelle markierst (Dann wird das für jede Zeile automatisch übernommen)
Wenn Du Bedingte Formatierung -> Regeln verwalten klickst, dann kannst Du auch sehen (ändern) auf welchen Bereich die bedingte Formatierung angewendet wird.
Ich hoffe, das hilft Dir erst einmal weiter.
Wenn Du mir eine Email Adresse sendest, kann ich Dir ggf. auch eine Beispiel-Datei zuschicken.