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

Blatt als Vorlage auf mehrere Blätter verteilen

Blatt als Vorlage auf mehrere Blätter verteilen
06.08.2017 21:38:31
Thomas
Hallo!
Ich möchte mir für die Schule eine Leistungsdokuemtation in Excel erstellen.
Dazu möchte ich gerne ein Tabellenblatt als Vorlage verwenden. In diesem Blatt sollen die Zeilen beschriftet sein, auch die Formatierung soll hier vorgenommen werden.
Jede Zeile beschreibt ein Thema des Unterrichts, es können dazwischen immer wieder Zeilen eingefügt werden.
Diese Vorlage soll dann auf alle Schüler verteilt werden (jeder Schüler ein Tabellenblatt). Wenn eine Zeile hinzugefügt wird oder es eine Änderung gibt, dann soll diese auch auf den Schülerblättern passieren.
Problem: Es werden bei den Schülerblättern Werte hinzugefügt die nach einer Änderung bestehen bleiben müssen.
Excel Programmierung: relativ gute Kenntnisse, jedoch fehlt mir das Konzept der Realisierung!
Leider konnte ich keine Datei hochladen. Nun habe ich zwei Screenshots verlinkt.
Bild1: https://phoenixschule-my.sharepoint.com/personal/scht_phoenixschule_at/_layouts/15/guestaccess.aspx?docid=10cff0e9f5c514faaaad9979349e2dbde&authkey=AZ9R8dtQzsLMQOhTQNfhab8
Bild2: https://phoenixschule-my.sharepoint.com/personal/scht_phoenixschule_at/_layouts/15/guestaccess.aspx?docid=1164ca393f9b6445eaaf1d13c75b65408&authkey=AW0ll7R55TEfz7Kcm__fwsw
Kann mir bitte jemand helfen bzw. Starttipps geben?

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blatt als Vorlage auf mehrere Blätter verteilen
07.08.2017 07:13:14
fcs
Hallo Thomas,
was mir als erstes aufgefallen ist:
In der Vorlage beginnt das 1. Thema (H1) in Zeile 5, auf dem Schüler-Blatt in Zeile 4.
Warum?
Eine gewisse Grundstruktur muss eingehalten werden, damit man eine Excel-Programmierung darauf aufbauen kann und nicht zu viele Randbedingungen in der Programmierung prüfen muss.
Die 1. Zeile mit einem Thema sollte also in Vorlage und Schüler-Blättern identisch sein.
Wenn Excel die Einträge in Spalte A vergleicht kann es von sich aus nicht entscheiden, ob es eine geänderte oder eine neue Zeile ist.
Hierzu muss eine eindeutige Kennzeichnung der Themenzeilen zum Beispiel in Spalte F eingetragen werden.
Dazu muss man einmal den Startzustand festlegen (Vorlage und Schülerblätter sind in Spalte A ab Zeile 5 bis zur letzten Zeile identisch. Danach werden die Themen-Zeilen fortlaufend von 1 bis X nummeriert. Sowohl in der Volage als auch auf den Schülerblättern.
Wenn in den Schülerblättern noch keine Zusatzdaten eingegeben sind, dann "einfach" vorhandene Schüler-Blätter löschen und aus Vorlage neue Schülerblätter erstellen.
So ist ein Zustand erreicht in dem eindeutige Kriterien vorhanden sind, auf die man bei der Programmierung Prüfungen und Suchen aufbauen kann.
Werden in der Vorlage Zeilen eingefügt oder angefügt, dann bleiben diese Zeilen zunächst ohne ID-Nummer - die Nummern werden dann zum Schluss vom Makro neu generiert.
Zur Aktualisierung der Schülerblätter kann man die Programmierung dann etwa in den folgenden Schritten aufbauen:
1. SicherheitsKopie mit dem Befehl SaveCopyAs erstellen, denn es kann ja auch mal schiefgehen.
dateiname = Activeworkbook.Path & Application.Pathseparator & "Copy " & Format(Now, "YYYY-MM-DD hh_mm_ss " & ActiveWorkbook.Name
2. In der ersten Schleife werden die Themen in der Vorlage abgearbeitet, die in Spalte F schon eine ID haben.
Dabei wird in jedem Schülerbatt die Zeile mit der ID in Spalte F gesucht.
Sind die Werte zur ID in Spalte A von Vorlage und Schüler-Blatt unterschiedlich, dann wird der neue Wert im Schülerblatt eingetragen (nicht unbedingt kopiert).
3. Prüfen, ob am Ende der Vorlage neue Zeilen angefügt wurden. Wenn ja, dann dann werden diese Zeilen ermittelt und als Block kopiert und in allen Schüler-Blättern hinter der letzten Zeile eingefügt.
4. In einer For-Next Schleife beginnend in der Zeile mit der letzten ID bis zur Zeile unterhalb der 1. ID rückwärts zählend wird geprüft, ob eine oder mehrere Zeilen oberhalb der jeweiligen ID leer, d.h. noch ohne ID sind. Wenn ja, dann wird der Zeilenblock ermittelt und zum Kopieren gemerkt.
Dann wird in allen Schüler-Blättern die Zeile mit ID gesucht und oberhalb der Zeile wird der kopierte Block mit den neuen Zeilen aus der Vorlage eingefügt.
5. Im letzten Schritt werden alle Themenzeilen in der Vorlage in Spalte F neu durchnummeriert und dann die neuen Nummern in alle Schüler-Blätter kopiert.
6. Datei speichern und Fertig.
Sollten in den Themenzeilen auch Formeln vorhanden sein, dann wird es evtl. sehr kompliziert diese korrekt anzupassen.
Viel Erfolg bei der Umsetzung.
Was mir allerdings Sorgen macht ist dein Gemütszustand, wenn du nach jedem Abschluss eines Themas (pro Woche?) bei ca. 25 Schülern je Klasse in den Schüler-Blättern insgesamt ca. 250 Zellen ändern/eingeben muss wobei als Trost die Spalte "Transkript" wahrscheinlich bei allen Schülern identisch ist und als Block kopiert werden kann.
Wie muss dass Lehrerleben in den 60ern des 20. Jahrhunderts (meine Grundschulzeit) doch schön gewesen sein, als man sich bei der Schülerbewertung im Zeugnis "nur" um die zusätzliche mündliche Benotung (wie auch immer dokumentiert) und die "Beteiligung am Unterricht" kümmern musste.
Gruß
Franz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige