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
Das liegt aber daran, daß ich mir nicht genau vorstellen kann, wie Deine Tabellen tatsächlich aussehen.
In der 1. Tabelle kann man z.B. mir einem Makro feststellen, wie viele Daten untereinander eingetragen sind. Da läßt man solange eine Schleife in der Spalte laufen, bis er auf eine leere Zell trifft.
Mit dieser Information muß man dann in der anderen Tabelle arbeiten.
Zur Info:
Die Zellbezüge "$B$7" beziehne sich nur auf die Zelle, wo diese drinstehen.
Angenommen, die stehen bei Dir in Z1, dann kannst Du sie zB nach Z2 verschieben und sie behalten den Wert "$B$7". Allerdings, wenn Du die Quelle veränderst, dann fehlt der Bezug.
Aber vielleicht machst Du Deine Arbeit mit ACCESS, da kannst Du Tabellen verknüpfen.
Solltest Du keinN ACCESS haben, so besorge Dir das kostenlose Programm DataMaker.
Bei der kostenlosen Software ist nur die Datenmenge auf 200 begrenzt. Aber da passen Deine 33 Einträge ja beliebig rein.
========================================================
Da fällt mir noch was ein.
Man kann den Zellen ja Namen geben. Dann wird nicht mehr auf $B$7 zugegriffen, sondern zB. auf "schüler1".
Ob sowas funktioniert, habe ich allerdings noch nie probiert.