Clever-Excel-Forum

Normale Version: Agenda / Wochenplan programmieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
Ich bin Lehrperson und unterrichte auf einer Grundschule. Als Arbeitsgrundlage nutzen alle Lehrpersonen analoge oder digitale Unterrichtsplaner. Da mir bislang keine digitale Lösung praktikabel erschien habe ich beschlossen, eine eigene analoge Lösung zu entwickeln.
 
Ich möchte gerne eine Excellösung schreiben (scheint mir am besten geeignet, da ich nicht programmieren kann).
Der Anwender soll gewisse Parameter definieren können aus denen Excel danach ein Dokument erstellt (eine Art Agenda), welches sich anschliessend ausdrucken lässt.
Einige Parameter sind für mich bereits klar, doch weiss ich nicht so recht, wie ich dieses auswerten und daraus ein modulares Ergebnis erstellen soll. Der Output soll in einer zweiten Tabelle entstehen
 
Im Anhang habe ich ein Dokument mit den entsprechenden Parametern angehängt. Ich wäre sehr froh, wenn mir jemand bei der Umsetzung in das fertige Dokument behilflich wäre.
na toll noch ein Opportunist.

Du hast wenige Excelkenntnisse und keine Programmierkenntnisse. Aber du denkst du könntest eine praktikable Lösung erstellen, die dann alle Anderen nutzen "wollen".  


Folgende Fragestellungen.  

- haben denn alle Nutzer Office 365?  Thema: Versionsunterschiede
- Läuft dein Machwerk dann auch auf Android? Thema: Smartphone, Tabletts.
- Vom Digitalen zurück zum Papier?  wirklich?
- gibts tatsächlich keine tollen,  fertigen Lösungen im ganzen, großen Schulverbund? glaub ich nicht.
Du musst ralf_b bezüglich "zurück zum Papier" nicht so ernst nehmen, denn selbstverständlich "druckst" Du ein PDF für's Tablet. Das ist allen hier klar, denn alles andere wäre ein Treppenwitz. Schön, dass Du den Fortschritt nicht rückgängig machen willst.

Das mit dem "11" habe ich nur oben nachzählen können. Beim "Ausdruck" sehe ich nur 8 Bereiche (7 Zeiten und 1 Hausaufgabenbereich).

Was bei Dir fehlt, ist die Einsteuerung der eigentlichen Inhalte. VBA braucht es nicht.
@ralf_b:

Nunja, was soll ich auf dein Posting antworten: Fangen wir doch mal vorne an und bedanken uns dafür, dass du dir überhaupt die Mühe gemacht hast, meine Aufgabenstellung anzusehen.

Was die Programmierung angeht, so trifft meine Aussage auf mein momentanes Programmierknowhow zu. Vor 30 Jahren hab ich auf dem AMIGA zuert in Basic und anschliessend in C programmiert, doch heute verwendet man grundsätzlich ander Sprachen. Wahrscheinlich wäre Java eine bequeme Lösung - wenn man's denn könnte. Auch die Plattform hat sich natürlich verändert. Der Schritt vom AMIGA zu Windows mag zwar anwendertechnisch ein grosser Schritt vorwärts gewesen zu sein, doch in Punkto Programmierung hats mich nicht gepackt.

Was die Lösung für andere angeht: Dies wäre natürlich Zukunftsmusik. In erster Linie möchte ich natürlich eine für mich passende Lösung. Somit lassen sich viele Parameter schon definieren. Mein Anhangsbeispiel entspricht meiner pesönlichen Vorliebe. Wir können ja gerne damit starten und wenn ich mal ein Gerüst habe, dann werd ich sicher auch mehr Wille zum Selber-Lernen entwickeln (wie uns schon vor mehr 70 JAhre Maria Montessori erklärt hat):

Also, vereinfachte Voraussetzung:

Ich möchte sechs Spalten mit je 11 Zellen, von mir aus schon mit meinen Thermen angeschrieben. Es soll daraus ein Raster entstehen, wobei die Linien gezogen sein sollen und der Druckbereich definiert ist (geht das überhaupt?)

Ausserdem soll in der Kopfzelle das Datum wie im Beispielbild stehen. Es muss also nur noch der Datumsbereich "von" und "bis" definiert werden.

Dies sollte für meine Ansprüche als Grundgerüst siche ausreichen. Ist das besser so?


@LCohen:

Auch dir vielen Dank für deine Rückmeldung.

Digital oder analog als Print: Es soll ja bloss das Formular entstehen. Grundfschullehrpersonen hängen noch sehr an realen Stiften und kritzeln gerne (während dem sie von ihren Schülern eine schöne Handschrift erwarten). In der Tat sollen die einzelnen Seiten ausgedruckt und gebunden werden.

Du hast korrekt gezählt. Der Ausdruck meiner diesjährigen Lösung hat nur 7+1 Lektionszellen, doch nächstes Schuljahr haben meine Kinder drei Lektionen unterricht am Nachmittag und über Mittag hab ich oft Besprechungen, die man in die Mittagszelle einschreiben könnte.

"Einsteuerung der eigentlichen Inhalte". Ich glaube, ich versteh deinen Therm - je, genau das fehlt mir: wie bringe ich Excel dazu, mir genau dieses Raster mit Linien zu generieren und die entsprechenden Therme in die Zellen zu schreiben.
Ich habe heute nach der Arbeit noch etwas getüftelt und hab doch schon einiges erreichen können.
Mittlerweile ist die Maske fertig, man kann ein Startdatum eingeben und es werden daraus automatisch die Wochentagszahlen in die Spaltentitel gesetzt. Ebenfalls wird die Kalenderwoche bereits berechnet.
Der Druckbereich ist so definiert, dass die Wochenansicht genau 2 A4-Seiten einnimmt.
Nun stosse ich leider an meine Grenzen. Ebenfalls kann man ein Enddatum eingeben. Darauf wird berechnet, wie viele Wochen und wie viele Doppelseiten das Dokument haben wird. Leider habe ich keine Ahnung, wie ich Excel dazu bringe, dieselbe Maske so zu duplizieren, die ich für die erste Woche erstellt habe und wie ich den Druckberech dazu erweitere.
Wahrscheinlich könnten man x weitere Tabellenblätter erstellen lassen und diese beim Ausdruck aneinanderhängen.. (?)
Tach, 

wenn du die Zelle mit einem benutzerdefinierten Format formatierst, 
dann kannst du dies =TEXT($B60+3;"TT")&"  Donnerstag" durch das =B60+3  ersetzen. 
in meiner Version sind die Verweise auf die Steuertabelle gelegt. 

das reine duplizieren, geht aus dem stand mit vba mittels einer kleinen schleife. 
trenne den zu druckenden Bereich vom Steuerungsteil.
dann kann man ein Blatt als Vorlage nutzen und dieses mit geänderten Werten duplizieren. 
anhand von Vorgaben aus dem Steuerungsbereich wird das relativ einfach machbar sein. 
die gelben Bereiche hab ich entsprechend angepasst, als Beispiel. 

[attachment=33950]

Sicherlich wird unser Forentroll hier noch was dazu sagen. Man darf gespannt sein.
Die Vorlage vom immer klein schreibenden ralf_b kann man gut nutzen - inhaltlich kannst Du ihn da also durchaus ernst nehmen. Den Fehler in C2 korrigiert er sicher noch.

Ich muss ihn loben, denn er hat pro Datum nur eine Spalte benötigt! Das ermöglicht eine (einfache) Ausdehnung nach rechts mit den neuen dynamischen Formeln von Excel gleich für ein ganzes Kalenderjahr bzw. Schuljahr. IVm bedF wird der (Forenbeiträge immer hart umbrechende) ralf_b das sicherlich noch nachreichen.

Die Schulferien dabei auszublenden lohnt sich wohl nicht wirklich, da es in der Schule "Anfangsferiennachläufe" und "Endferienvorläufe" (zumindest in den Sommerferien) für das Kollegium gibt. Gerade Corona zeigt aber, dass es auch mal anders kommen kann. Daher würde ich keine Ferien ausblenden. Überhaupt stellt man Lücken immer besser dar, als sie zu unterdrücken, weil das die menschliche Betrachtungsweise stützt.

"Terme": Ich war davon ausgegangen, dass auch die Inhalte am PC erfasst werden. Meine "eigentlichen Inhalte" sind (die dann von Dir leider mit Stift auf Papier beabsichtigten) Einträge, nicht die (von Dir gewollte) Druckvorlage eines bloß leeren Chefdaters.

Das mit den maschinell, nicht per Bleistift, eingesteuerten Inhalten hätte dazu geführt, dass gleich eine wirksame Kontrolle zwischen Soll- und Ist-Lehrinhalten entstanden wäre. Wie gesagt: Ich hatte da einen zu hohen Anspruch vermutet.

Die Therme hier im Ort öffnet übrigens in den nächsten Tagen wieder. Ich gehe da auch so gern hin wie Du.
(05.09.2020, 04:56)LCohen schrieb: [ -> ]Den Fehler in C2 korrigiert er sicher noch.
In C2 ist kein Fehler, sondern nur ein Verweis auf eine leere Zelle. 

Hey Troll, dein Start ins WE war für dich offensichtlich erfreulichGenug Krümel hatte ich dir ausgelegt. Leider muß ich feststellen, dass deine Aussagen voll mit Fehldeutungen, Übertreibungen und wenig bis gar nicht hilfreich sind.  Tue der Menschheit einen Gefallen und unterlasse diese Zeitverschwendung. Du kannst sicher Besseres leisten als vermeintliche Fehler anderer Leute zu publizieren.  

Für den Threadstarter:  Dir passiert es sicher nicht, das du den Hinweis mit den "gelben Markierungen" überliest. Die Zeitformatierungen habe ich nicht alle gelb markiert, obwohl sie ebenfalls alle angepasst wurden. Wenn du deinen Plan später als Buch binden willst, sind andere Programme besser geeignet. Excels Stärken liegen nicht so sehr im Buchdrucken.
Man muss ralf_b in dem, was er sagt, nicht allzu ernst nehmen. Und so schreibe ich weiter das, was ich will. Das tue ich seit 2002, während er - seit Juni 2020 - hier noch Lernzeit hat.

Ich finde es schön, dass Kleinschreibung und harte Umbrüche bei ihm jetzt wegfallen. Die Gemeinde, die so besser lesen kann, dankt es ihm! Schon deshalb ist das, was ich schreibe, nicht überflüssig.

Zu C2: Eine gute Tabelle zeichnet sich durch Verständlichkeit aus. A2 und B2 beginnen irgendwie, und dann kommt da ein Bruch mit einem Fehler.
Ich habe meine Vorlage nochmals nach deinen Vorschlägen umgesetzt und etwas erweitert, vielen Dank an ralf_b
Nun sind es eigentlich nur noch zwei Dinge, die ich bis zur ersten Finalen Version nicht hinkriege:
 
- mittels VBA die Doppelseiten duplizieren und die Daten anpassen [jeweils linke oberste Zelle pro Doppelseite])
- Druckbereich automatisch anpassen
 
Beides lässt sich mit VBA einfach lösen, das sehe ich auch so. Im Netz findet man diverse Beispiele dafür, doch hab ich bislang keines so adaptieren können, dass es für mich nachher den Zweck erfüllt. Dennoch, meine gefundenen Macros sind hier angefügt – nicht dass es heisst, ich hätte gar nix gemacht ;)

Sub Duplizieren()
     Dim kopierfaktor As Integer
     Dim zaehler As Integer
     Kopierfaktor = GANZZAHL((Eingaben!B5-Eingaben!B4)/7)+1
     For zaehler = 1 to kopierfaktor
          Worksheets(«Vorlage»).Range(«A1:F57»).Copy Destination:=Worksheets(«Vorlage»).Range(A1+(zaehler*57))
    Next
End Sub

Ein einfacher Kopierbefehlt mittles vereinfachtem Macro funktioniert zwar, aber leider werden dabei die unterschiedlichen Zellenhöhen nicht berücksichtigt und die Zeile B wird zu klein kopiert.
 
 
Für den Druckbereich habe ich folgendes gefunden:
 
Sub DruckBereich()
    Dim Von As Integer, Bis As Integer
    Von = ThisWorkbook.Sheets("Vorlage").Range("A1")
    Bis = ThisWorkbook.Sheets("Vorlage").Range("F57*kopierfaktor")     'kopierfaktor anpassen
    ActiveSheet.PageSetup.PrintArea = "$A$" & Von & ":$F$" & Bis
End Sub
 
Wie muss ich die beiden Macros in Excel importierten und automatisch ausführen lassen? Brauch ich dafür einen «Ausführen» – Button oder geschieht die Ausführung des Macros direkt nach der Eingabe eines Zieldatums? Wahrscheinlich ist es eleganter, einen Button auf dem Eingabe-Blatt anzulegen, der zuerst die Seiten dupliziert und anschliessend den Druckbereich anpasst. Evtl könnte das sogar ein direkter «Drucken»-Button sein.
Seiten: 1 2 3 4