Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Agenda / Wochenplan programmieren
#21
Habe nun die Druckroutine auf nen Preview geändert:

Code:
Sub druck()
  Dim tbs(), i As Long, x As Integer

  Application.ScreenUpdating = False 
  x = 0
  For i = 0 To Worksheets.Count - 1
   
    Select Case Worksheets(i + 1).Name
     
      Case "Eingaben", "Vorlage", "Titelseite"
     
      Case Else
              ReDim Preserve tbs(x)
              tbs(x) = Worksheets(i + 1).Name
              x = x + 1
    End Select

  Next
   
  Worksheets(tbs()).PrintPreview
   
  Application.ScreenUpdating = True
 
End Sub

Wenn ich deine Routine richtig verstanden habe, dann sammelt sie alle einzelnen Tabellenblätter, ausser "Eingaben" und "Vorlage" und ordnet diese hintereinander zu einem Druckauftrag.
Komischerweise wird dabei konstant nur eine Seite angezeigt. Da muss sich in der Schlaufe wohl ein Fehler eingeschlichen haben?
Ansonsten ist diese Version fast noch besser, als ein .pdf zu erstellen, von welchem man anschliessend die ersten Seiten nicht ausdrucken soll. Via Druckerauswahl lässt sich die Ausgabe ja dennoch in ein .pdf umleiten.

Korrigiere: Bei der Preview wird lediglich die erste Seite angezeugt. Druckt man den Auftrag anschliessend via Microsoft Print to pdf, dann wird das ganze Dokument abgespeichert. Anscheinend werden die Seiten erst beim tatsächlichen Druckauftrag in eine Datei hinereinandergesetzt. Geht wohl nicht anders (die PrintOut Version ist einfach etwas zu heikel, wenn dann aufn Schlag 50 Seiten aus dem Drucker flattern)
Antworten Top
#22
Hallöchen,

mit Deinem Druckmakro fügst Du die Tabellenblätter zu einem Auftrag zusammen und da kommt dann alles raus, was dazu gehört.

Wenn man das einschränken will gibt es nun verschiedene Wege, allerdings ist wohl immer zumindest eine Auswahl nötig.

- beim kompletten Speichern als pdf dann zum Ausdruck die gewünschten Seiten wählen
- zum "Ausdruck" eine Sicherheitsabfrage programmieren, wo die Blattauswahl bestätigt werden muss
- auf einem Blatt eine Liste der Blätter generieren - geht auch per Makro oder Formel -
dort die gewünschten Blätter ankreuzen und im Makro als Bedingung verarbeiten
- andere Auswahlmöglichkeiten programmieren, z.B. Auswahl des Tages oder ...
- auf den Blättern Druckbereiche festlegen


Ansonsten, oT-Beiträge wandern zuweilen in's Plaudern oder in's Archiv, mach ich hier wahrscheinlich auch. Wenn zwei sich streiten, ist das entgegen dem Sprichwort nicht unbedingt zur Freude des Dritten Sad und ein öffentlicher geführter Streit eskaliert vielleicht noch mehr ..
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#23
"Fullquote #19": Hui, haben wir es jetzt hinter uns? Das war ja eine komplette Kanonade. Da Du jetzt ordentlich schreibst (Fließtext und klein/groß), deren Nichtbeachtung mich zu "nicht so ernst nehmen" verleitet hatte, biete ich Dir einen Waffenstillstand an. Ich würde das jetzt unterlassen.
Antworten Top
#24
Neue Idee: Jetzt, wo die Grundlage eigentlich steht:

Gesucht ist eine Routine, die an einem bestimmten Tag einen Eintrag in das Unterrichtsheft schreibt. Dies könnte man für Geburtstage, Ferien, ... gebrauchen....
In der Tabelle "Eingaben" steht in der Zelle B18 das Datum und in C18 das Ereignis ("Geburtstag Peter"). Dieses soll automatisch beim entsprechenden Tag in der Zelle 5 stehen.

Der Ablauf wäre wahrscheinlich:
- Anhand des Datums die entsprechende Tabelle (zum Glück mit dem Montagsdatum versehen) herausfinden und dann das Ereignis in die Zelle schreiben.
Antworten Top
#25
Ich hab's gewusst. Da sind sie, meine "eigentlichen Inhalte" (#3). Dass die kommen würden, war so sicher wie das A in der K. Ob Salamitaktik (hier ja) oder nicht.
Antworten Top
#26
Du bist der Zeit voraus, Bravo (damit lassen sich sicher viele Konflikte vermeiden)
Salamitaktik ja: Ich weiss nicht, wie du ein neues Projekt aufgleist. Ich fange zuerst mal mit dem Grüst an und baue es dann aus. Das würd ich nicht als Salamitaktik (wegschneiden), sondern eher als Torten-schichten (aufbauend) bezeichnen.... Ich ma eh gerne süsses ;)
Wie dem auch sei, konstruktive Ideen sind gefragt. Ich habs mit einer Select Case Abfrage versucht:

Select Case Weekday(Range("B18"))
      Case 2: Worksheets(Worksheet.Name = Range("B18")).Activate
      Case 3: MsgBox "Heute ist Dienstag"
      Case 4: MsgBox "Heute ist Mittwoch"
      Case 5: MsgBox "Heute ist Donnerstag"
      Case 6: MsgBox "Heute ist Freitag"
 End Select


Allerdings klemmt es noch bei meiner Abfrage: die Tabellennamen entsprechen genau den Montagsdatum der betreffenden Woche, also z.B. 14.09.2020. Mein Experimentiergeburtstag ist der 14.09.2020. Dieser stehtin Zelle B18. Nun möchte ich also die Tabelle mit dem Namen B18 aktivieren, um dort den Genurtstag einzutragen.
Antworten Top
#27
In Foren wird ganz gern gesehen, wenn der Frager weiß, wohin er möchte. Von Anfang an. Dann müssen in vielen Fällen keine Umwege genommen werden.
Antworten Top
#28
ok, das nehm ich gerne zur Kentniss
Antworten Top
#29
Darf ich hier nochmals um eine Hilfe fragen? Mein Decoder gibt mir immer eine Fehlermeldung aus für meine Select Case Routine.

Wie vergleiche ich das Datum aus einer Zelle mit dem Tabellennamen? Ich hab schon versucht, den Inhalt der Zelle als String zu definieren und dann den Case auszuwerten, aber das funktioniert auch nicht. Wäre froh um eine weitere Gedankenspritze eines Experten.
Hab der Einfachheit halber nochmals eine neue Beispieldatei aufgesetzt, jungfräulich und ohne Schnick-schnack.


Angehängte Dateien
.xlsm   Zelle Tabellenname Abgleich.xlsm (Größe: 21,04 KB / Downloads: 6)
Antworten Top
#30
Hallo,

könntest Du deine Datei hier hochladen?
Gruß Stefan
Win 10 / Office 2016
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste