Registriert seit: 10.04.2014
Version(en): 2016 + 365
25.06.2016, 10:18
(Dieser Beitrag wurde zuletzt bearbeitet: 25.06.2016, 10:56 von Rabe.)
Hi, (25.06.2016, 09:52)schauan schrieb: Man könnte beim Ausdruck eventuell das letzte Blatt mit eigener Fußzeile ausgeben und dort die Unterscriftsangaben rein packen. ok, so habe ich es jetzt mal gemacht, mal sehen, was sein Chef dazu meint.
Arbeitspaket - V2-5.xlsb (Größe: 27,54 KB / Downloads: 2)
Das Problem ist nun, daß es auf der ersten Seite fehlt, wenn es nur eine Seite ist. Vielleicht könnte per VBA geprüft werden, ob alles auf eine Seite passt und dann den Unterschriftenbereich unten anhängen.
Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:1 Nutzer sagt Danke an Rabe für diesen Beitrag 28
• ToXiC
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Ralf, Bin nur am Smartphone und kann mir den Code nicht anschauen bzw auch nichts großartig entwickeln  Bin daher dieser Tage keine große Hilfe...
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 18.06.2016
Version(en): 2016
25.06.2016, 15:16
(Dieser Beitrag wurde zuletzt bearbeitet: 25.06.2016, 15:16 von ToXiC.)
(25.06.2016, 09:41)Rabe schrieb:erster Satz: Unterschriften-Zeile am Ende der zweiten Seite ist noch nicht gelöst. Du meintest die Kopfzeile der Arbeitsschritte am oberen Ende der zweiten und den folgenden Seiten. Stimmt, das ist gelöst. Siehe ganz unten hier in dem Beitrag die Wiederholungszeilen. Ja richtig, ich konnte das nicht mehr bearbeiten, da hatte schon jemand geantwortet. Ich sehe mir das nochmal in Ruhe an, bin noch ein wenig im Stress. Gestern gab es eine Leistungsbeurteilung und mir kam es zugute, dass ich dank Euch und meinem Einsatz Zuhause, auch privat weiterhin nach Lösungen suche. Vielleicht wird mein Einsatz verlängert, das hoffe ich natürlch. Edit: Das mit der Fußzeile habe ich auch schon probiert. Die Überschrift "Arbeitspaket abgeschlossen" muss ja auch noch da rein. Dann aber hat mir Excel gesagt, es sind zu viele Zeichen. Außerdem rutscht dann die Tabelle in die Fußnote, was auch nicht gewünscht ist. Es ist jetzt auch nicht schlimm, wenn man dafür keine Lösung bekommt. Notfalls lasse ich die Unterschriften-Zeile einfach immer "mitrutschen".
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi, (25.06.2016, 15:16)ToXiC schrieb: Edit: Das mit der Fußzeile habe ich auch schon probiert. Die Überschrift "Arbeitspaket abgeschlossen" muss ja auch noch da rein. Dann aber hat mir Excel gesagt, es sind zu viele Zeichen. Außerdem rutscht dann die Tabelle in die Fußnote, was auch nicht gewünscht ist. Es ist jetzt auch nicht schlimm, wenn man dafür keine Lösung bekommt. Notfalls lasse ich die Unterschriften-Zeile einfach immer "mitrutschen". ich habe ja die xlsb angehängt, da ist das funktionierend drin. Es reicht, wenn Du in der Fußzeile zwischen "Arbeitspaket abgeschlossen" und der Unterschriftenlinie eine einzelne leere Zeile entfernst.
Registriert seit: 18.06.2016
Version(en): 2016
Hm,
ich glaube nicht, dass mein Chef das so durchgehen lassen wird. Die Unterschrift kann ja entweder auf der ersten Seite stehen oder auf der zweiten. Das "Arbeitspaket abgeschlossen" soll ja über den Unterschriften stehen, wobei Platz für die Unterschriften sein soll.
Ich sehe das ingesamt aber nur als ein optisches Manko. Ich werde noch ein wenig versuchen und eventuelle einfach erklären, dass es eben so nicht mal eben gemacht ist. Solange dann die Unterschriften-Zeile immer am Ende steht, wird er auch hoffentlich zufrieden genug sein.
Registriert seit: 18.06.2016
Version(en): 2016
26.06.2016, 02:34
(Dieser Beitrag wurde zuletzt bearbeitet: 26.06.2016, 02:34 von ToXiC.)
Edit geht leider nach kurzer Zeit nicht mehr, also muss ich mir mal wieder selbst antworten. Ich möchte das nun anders machen. Die Idee, es über Fußzeile zu realisieren fand ich erstmal gut. Also habe ich Google benutzt und folgenden VBA Code gefunden. Zunächst will ich ja realisieren, dass nur die jeweils letzte Seite eine Fußzeile enthält. Das kann die erste Seite sein, aber auch eine zweite Seite: Code: Private Sub Workbook_BeforePrint(Cancel As Boolean) Dim lngZeile As Long Dim rng As Range Dim rngDruckbereich As Range Dim MultiPage As Boolean 'Schleife verhindern Application.EnableEvents = False 'Fehler abfangen --> EnableEvents wieder aktivieren On Error GoTo ErrorHandler 'Druck abbrechen Cancel = True MultiPage = False With Worksheets("Tabelle1") 'evtl vorhandenen Druckbereich entfernen .PageSetup.PrintArea = False 'Untersten Seitenumbruch im genutzten Bereich des 'Tabellenblattes ermitteln. Dazu alle Zeilen von unten nach oben prüfen For lngZeile = .UsedRange.Rows.Count To 1 Step -1 'Wenn die Zeile einen Seitenumbruch enthält ... If .Rows(lngZeile).PageBreak <> xlPageBreakNone Then '... Zelle der Spalte A dieser Zeile in Variable schreiben. Dies ist die oberste Zeile der letzen Druckseite Set rng = .Cells(lngZeile, 1) MultiPage = True Exit For End If Next lngZeile If MultiPage = True Then 'Mehrere Seiten 'Druckbereich auf alle Druckseiten, bis auf die unterste einstellen .PageSetup.PrintArea = .Range(.Cells(1, 1), .Cells(rng.Row - 1, 8)).Address MsgBox ("rng.row-1: " & rng.Row - 1) 'Fußzeile entfernen .PageSetup.LeftFooter = "" 'Druckbereich ausdrucken .PrintOut 'Fußzeile einfügen .PageSetup.LeftFooter = "Fußzeile!!" 'Druckbereich auf die letzte Druckseite einstellen .PageSetup.PrintArea = .Range(Cells(rng.Row, 1), .Cells(.UsedRange.Rows.Count + 1, 8)).Address MsgBox ("rng.row: " & rng.Row & Chr(10) & ".UsedRange.Rows.Count+1: " & .UsedRange.Rows.Count + 1) 'Druckbereich ausdrucken (letzte Druckseite mit Fußnote) .PrintOut 'Druckbereich aufheben .PageSetup.PrintArea = False Else 'Eine Seite 'Druckbereich auf verwendeten Bereich einstellen .PageSetup.PrintArea = .Range(Cells(1, 1), .Cells(.UsedRange.Rows.Count + 1, 8)).Address 'Fußzeile einfügen .PageSetup.LeftFooter = "Fußzeile!!" 'Normaler Ausdruck .PrintOut 'Druckbereich aufheben .PageSetup.PrintArea = False End If End With Application.EnableEvents = True Exit Sub ErrorHandler: 'Bei Fehler EnableEvents wieder aktivieren Application.EnableEvents = True MsgBox ("Fehler beim Drucken") Exit Sub End Sub
Habe den Code dann in "DieseArbeitsmappe" kopiert und versucht zu drucken. Dieser Code funktioniert so noch nicht, springt direkt in den Error-Handler und öffnet die Message-Box "Fehler beim Drucken". Wo der Fehler liegt, kann ich natürlich nicht sagen, aber vielleicht ist die Idee, die Fußnote über VBA zu realisieren an sich schonmal eine gute. Im nächsten Schritt würde ich dann Inhalte für die Fußzeile definieren wollen und die Höhe der Fußzeile anpassen. Soweit ich gelesen habe, der Inhalt passend in die Fußzeile gesetzt wurde, kann dann auch nicht mehr passieren, dass Zeilen in den Fußbereich rutschen, da die Fußzeile das Seitenende andeutet....?
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen, bei mir läuft der Code durch. Setze mal vor On Error... ein Hochkomma. Dann wird die Codezeile grün und nicht ausgeführt. Der Code bleibtdann in der Fehlerzeile mit einer Meldung hängen. Poste bitte beides.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• ToXiC
Registriert seit: 18.06.2016
Version(en): 2016
Hi, das habe ich gestern schonmal gemacht. Der Fehler wird mir hier angezeigt: Code: With Worksheets("Tabelle1")
Verstehe ich nicht, da es nur ein Tabellenblatt gibt, das auch Tabelle1 ist. Habe auch versucht, es in "Deckblatt" umzubenennen, so habe ich das Blatt benannt. Läuft dann durch, setzt aber den Fußzeilen-Text nicht ein bzw. druckt diesen nicht mit. Kann man den Code nicht auch testweise direkt ins Worksheet einbinden? "Activesheet... " z.B.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen, Mangels Meldungsinhalt vermute ich trotzdem ein Problem mit dem Blattnamen. Du kannst natürlich auch statt Worksheet(...) dann ActiveSheet schreiben.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 11.04.2014
Version(en): Office 2007
Hallo, (26.06.2016, 11:42)ToXiC schrieb: das habe ich gestern schonmal gemacht. Der Fehler wird mir hier angezeigt:
Code: With Worksheets("Tabelle1")
Verstehe ich nicht, da es nur ein Tabellenblatt gibt, das auch Tabelle1 ist. Du mußt hier im Projektexplorer unterscheiden zwischen den Codenamen und den Tabellennamen siehe hier. In Klammern ist der Tabellenname ohne Klammer handelt es sich um den Codenamen. Bei deiner Version mit Worksheets("...") verwendest Du den Tabellennamen wie Du ihn in Excel siehst.
Gruß Stefan Win 10 / Office 2016
Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:1 Nutzer sagt Danke an Steffl für diesen Beitrag 28
• ToXiC
|