Hallo,
habe folgendes Excel-Problem:
Habe zwei Tabellenblätter in einer Arbeitsmappe:
Im ersten Tabellenblatt ("Namen") stehen 33 Zeilen (für potentielle 33 Schüler), die - je nachdem, wie viele es dann in einer Klasse tatsächlich sind - automatisch über "Bedingte Formatierung" über die Funktion ISTLEER formatiert werden und so gleichzeitig eine Klassenliste mit formatierter Tabelle liefern.
Die Numerierung der Schüler liefert mir automatisch die Formel (Zeilen 1-6 sind Überschriften):
=WENN(ISTLEER(B8);"";ZEILE(A8)-6)
=WENN(ISTLEER(B9);"";ZEILE(A9)-6)
usw.
Im zweiten Tabellenblatt ("Noten") steht nun jeweils mit einem Bezug auf das erste Tabellenblatt in wiederum 33 Zeilen (für 33 potentielle Schüler):
=WENN(ISTLEER(Namen!B7);"";Namen!B7)
=WENN(ISTLEER(Namen!B8);"";Namen!B8)
usw.
Ich will also, daß hier nur die Namen angezeigt werden, die vorne in "Namen" auch vorhanden sind.
Dies klappt auch ganz gut, solange aus der Liste in "Namen" keine Zeile nachträglich herausgelöscht wird (z. B. beim nachträglichen Wechsel eines Schülers in eine andere Klasse).
Löscht man nun aber eine Zeile in "Namen", bekomme ich hinten die entsprechende Zeile mit einem Bezugsfehler (#BEZUG!). Es stimmt dann zwar die weitere Numerierung, aber ich bekomme eben in meiner Notenliste hinten (im Tabellenblatt "Noten") die unschönen Zeilen mit Fehlermeldungen.
Wie kriege ich es hin, daß das Tabellenblatt "Noten" beim Löschen einer Namenszeile, sagen wir der Zeile 7, aus dem Tabellenblatt "Namen" einfach die "neue" Zeile 7 (also den ursprünglich in Zeile 8 stehenden Schülerdatensatz) anzeigt und so die "häßlichen" Fehlerzeilen in meiner Notenliste vermieden werden?
Ich habe schon mit absoluten Zellbezügen gearbeitet ($B$7), was aber nichts daran ändert, daß Excel "merkt", daß der ursprünglich in Zeile 7 von "Namen" stehende Bezug jetzt "weg" ist.
Vielen Dank schon im voraus für Eure Hilfe.
Gruß
Struppi
Latein- und Franzpauker
Office - Word, Excel und Co. 9.747 Themen, 41.434 Beiträge
Hallo,
musst du die Zeile denn löschen, oder kannst du die Zeile einfach ans Ende der Liste verschieben und dann nur den Namen löschen, so dass die istleer Abfrage wieder greift?
Oder ein anderer Ansatz ist noch, die mittels Autoausfüllen wieder neu aufzubauen, das dann über ein Makro automatisieren.