Autor
|
Thema: Inhalt von L2 automatisch (!) beim Ändern oder vorm Drucken in CenterFooter schreiben (1704 / mal gelesen)
|
ArCADe-Spieler Mitglied Metallbautechniker
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für ArCADe-Spieler](/foren/ubb/pmimages/gbu.gif) Beiträge: 251 Registriert: 05.12.2012 Win 10 64bit Office 365 aber Excel 2013
|
erstellt am: 12. Okt. 2017 12:19 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
Hallo Gemeinde, wie üblich der Spruch am Anfang: ja, ich habe hier im Forum die mir über die Suche nach "Fußzeile" angezeigten Threads gelesen, aber nichts Passendes gefunden. Und ja, auch Google habe ich bemüht ... daher stammen meine unten beschriebenen Ansätze. Mein Problem: eine Arbeitsmappe mit ca. 25 Tabellen/Arbeitsblättern/Worksheets, eins heißt "Beschichtung" und dort soll der Benutzer in die Zelle L2 als Text die Auftragsnummer und die ProjektID eintragen (Format: 1.23456.17 PID2345601 oder so ähnlich). Nun soll automatisch (! ... also möglichst ohne Knöpfchen-Drücken) entweder sofort beim Ändern des Zell-Inhalts der Inhalt mit vorangestelltem "Auftrags-Nr.: " in den mittleren Bereich der Fußzeile geschrieben werden oder aber spätestens, wenn per Strg+P die Druckvorschau aufgerufen wird. Für die Variante beim Ändern schlägt Google vor, im VBA-Editor unter dem aktuellen VBAProject "Diese Arbeitsmappe" doppelt anzuklicken und folgenden Code einzufügen: Code: Private Sub Workbook_Change(ByVal Target As Excel.Range) Sheets("Beschichtung").PageSetup.CenterFooter = "Auftrags-Nr.: " & Sheets("Beschichtung").Range("L2").Text End Sub
bzw. Code: Private Sub Workbook_Change(ByVal Target As Excel.Range) With ActiveSheet.PageSetup .CenterFooter = "Auftrags-Nr.: " & Sheets("Beschichtung").Range("L2").Text End With End Sub
Für die Variante vorm Drucken liefert Google solche Sachen wie: Code: Private Sub Workbook_BeforePrint(Cancel As Boolean) Dim a As String a = Sheets("Beschichtung").Cells(2, 12) With ActiveSheet.PageSetup .CenterFooter = "&""Arial,Fett""&14" & a End With End Sub
Funktioniert aber alles - auch nach Arbeitsmappe speichern, schließen und neu öffnen - leider nicht Das Einzige, was bisher funktioniert, ist die Einbindung in ein bereits vorher geschriebenes Sub ... aber da leider nur mit Klicken auf die zugehörige Schaltfläche und NICHT automatisch : Code: ' Druckbereich definierenSub Sub99_Druckbereich_definieren_Klicken() Dim Ziel As Integer 'Variable Ziel als Ganzzahl -32768 bis 32767 definieren Ziel = Sheets("Beschichtung").Cells(6, 12) 'gespeicherte oder eingetragene aktuelle Einfügezeile von "Beschichtung" holen If Ziel > 12 Then 'sicherstellen, dass es schon eine Tabelle zum Drucken gibt Sheets("Beschichtung").PageSetup.PrintArea = Sheets("Beschichtung").Range("A12:G" & Ziel - 1).Address 'Druckbereich A12 bis G vor der neuen Einfügezeile definieren Sheets("Beschichtung").PageSetup.CenterFooter = "Auftrags-Nr.: " & Sheets("Beschichtung").Range("L2").Text End If End Sub
Da diese händische Druckbereichs-Definition aber normalerweise gar nicht notwendig ist (wird in den anderen Subs nebenbei erledigt), ist diese Lösung doof. Hat einer der VBA-Gurus hier eine Idee, warum das automatische Übertragen nicht funktioniert ? Danke für Euer Gehirnschmalz schon mal im Voraus Gernot PS: was mir gerade noch einfällt: diese Eintragung in der Fußzeile ist nur für Ausdrucke aus dem Tabellenblatt "Beschichtung" notwendig ... bei den anderen kann, muss sie aber nicht erfolgen und PPS: hm, theoretisch könnte ich die entsprechende Zeile auch in jedes der anderen Subs im Bereich der dortigen Druckbereichs-Definition einfitzeln, aber eleganter wäre halt die Variante mit der automatischen Übertragung [Diese Nachricht wurde von ArCADe-Spieler am 12. Okt. 2017 editiert.] [Diese Nachricht wurde von ArCADe-Spieler am 13. Okt. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bernd P Ehrenmitglied V.I.P. h.c. cook-general
![](/foren/avatars/Bernd_P.gif)
![Schreiben Sie einen Gästebucheintrag für Bernd P](/foren/ubb/pmimages/gbu.gif) Beiträge: 3358 Registriert: 07.06.2001
|
erstellt am: 12. Okt. 2017 13:45 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif) Nur für ArCADe-Spieler
|
ArCADe-Spieler Mitglied Metallbautechniker
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für ArCADe-Spieler](/foren/ubb/pmimages/gbu.gif) Beiträge: 251 Registriert: 05.12.2012 Win 10 64bit Office 365 aber Excel 2013
|
erstellt am: 12. Okt. 2017 14:10 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
Hallo Bernd, wie geschrieben: Google habe ich bemüht und unter anderem auch genau diese Seite gefunden und in meinen kläglich gescheiterten Versuchen mit ActiveSheet<->Sheets("Beschichtung"), .Value<->.Text, "Auftrags-Nr.: " & Sheets("Beschichtung").Range("L2")<->"Auftrags-Nr.: " & Range("L2")"<->Range("L2") ausprobiert. Als Bestandteil eines per Mausklick auf die verknüpfte Schaltfläche aufgerufenen Subs in einem Modul klappt es, aber automatisch als Private Sub in "Diese Arbeitsmappe" wird's nichts Gernot hm, unfair einfach während ich meine Antwort schreibe Deinen Post zu editieren [Diese Nachricht wurde von ArCADe-Spieler am 12. Okt. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
![](/foren/ubb/Admin1.gif) ![](/foren/ubb/Admin2.gif) ![](/foren/ubb/Admin3.gif) ![](/foren/ubb/Admin4.gif) ![](/foren/ubb/Admin5.gif) ![](/foren/ubb/Admin1.gif) ![](/foren/ubb/Admin2.gif) ![](/foren/ubb/Admin3.gif)
![](/foren/avatars/runkelruebe.gif)
![Schreiben Sie einen Gästebucheintrag für runkelruebe](/foren/ubb/pmimages/gbu.gif) Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 12. Okt. 2017 16:18 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif) Nur für ArCADe-Spieler
Das hier in Dein sheet "Beschichtung": Code: Private Sub Worksheet_Change(ByVal Target As Range) For i = 1 To Worksheets.Count Worksheets(i).Activate With ActiveSheet.PageSetup .CenterFooter = "Auftrags-Nr.: " & Sheets("Beschichtung").Range("L2").Text End With Next i End Sub
HTH ![Hope this helps (Hoffe, es hilft weiter)](/foren/ubb/glossar.gif) PS: Bitte noch die Nachteile des Worksheet.change-Ereignis ergoogeln, haben wir auch im Forum Lösungen für, es bremst die Mappe aus, der auf Änderung zu überwachende Bereich kann (und sollte) eingeschränkt werden. Überlasse ich heute ausnahmsweise aber aus Zeitgründen Dir ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ArCADe-Spieler Mitglied Metallbautechniker
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für ArCADe-Spieler](/foren/ubb/pmimages/gbu.gif) Beiträge: 251 Registriert: 05.12.2012 Win 10 64bit Office 365 aber Excel 2013
|
erstellt am: 12. Okt. 2017 17:08 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
Hallo Ritter Runkelrübe, im Stress ohne den Code vorher im Kopf nachzuvollziehen in Beschichtung kopiert und Strg+P gedrückt und nach etlichen Sekunden etwas ratlos auf die Druckvorschau des letzten Tabellenblattes (nicht "Beschichtung") mit korrektem CenterFooter geschaut Dann händisch - weil Makro - alles wieder zurückgeändert Code angeschaut und letztendlich - vorerst - dies draus geschnitzt und in "Beschichtung" abgelegt: Code: Private Sub Worksheet_Change(ByVal Target As Range) Sheets("Beschichtung").PageSetup.CenterFooter = "Auftrags-Nr.: " & Sheets("Beschichtung").Range("L2").Text End Sub
Funktioniert - daher trotzdem die 10 Unities an Dich. Wichtigste Unterschiede zu den obigen Versuchen: - Ablage in dem Tabellenblatt, wo's tatsächlich die zu überwachende Zelle gibt und wo ich die Änderung der Fußzeile brauche - Worksheet_Change anstelle von Workbook_Change - Range anstelle von Excel.Range Leider bin ich - was Excel-VBA betrifft - nach wie vor ein ziemlicher Laie und verstehe viele Sachen, die ich mir da so zusammenstoppele selbst dann nicht vollständig, wenn sie funktionieren Daher dann - auch eingedenk der für mich kryptischen Warnung über Nachteile von Worksheet_Change-Ereignissen (und heute keine Zeit mehr zum googeln) - ein Versuch mit BeforePrint, der erwartungsgemäß nicht funktionierte Code: Private Sub Worksheet_BeforePrint(Cancel As Boolean) Sheets("Beschichtung").PageSetup.CenterFooter = "Auftrags-Nr.: " & Sheets("Beschichtung").Range("L2").Value End Sub
Vielleicht kann mir da ja morgen noch jemand einen Tip geben. Bis dahin Gernot PS: tut mir Leid, die Unities-Felder führen ALLE bei mir nur zu einer Fehlermeldung ... fühle Dich also erstmal nur symbolisch bedankt. [Diese Nachricht wurde von ArCADe-Spieler am 12. Okt. 2017 editiert.] [Diese Nachricht wurde von ArCADe-Spieler am 13. Okt. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
![](/foren/ubb/Admin1.gif) ![](/foren/ubb/Admin2.gif) ![](/foren/ubb/Admin3.gif) ![](/foren/ubb/Admin4.gif) ![](/foren/ubb/Admin5.gif) ![](/foren/ubb/Admin1.gif) ![](/foren/ubb/Admin2.gif)
![](/foren/avatars/Thomas_Harmening.gif)
![Schreiben Sie einen Gästebucheintrag für Thomas Harmening](/foren/ubb/pmimages/gbu.gif) Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 12. Okt. 2017 18:58 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif) Nur für ArCADe-Spieler
o_O ist google real? Zitat: Nun soll automatisch (! ... also möglichst ohne Knöpfchen-Drücken) entweder sofort beim Ändern des Zell-Inhalts der Inhalt mit vorangestelltem "Auftrags-Nr.: " in den mittleren Bereich der Fußzeile geschrieben werden oder aber spätestens, wenn per Strg+P die Druckvorschau aufgerufen wird.
Aufgabe: <wenn L2 then> und falls untenstehendes die Lösung ist, muss ich anmerken, das war jetzt abartig viel Text für eine Problembeschreibung :-) Code: Sub Worksheet_Change(ByVal Target As Excel.Range)If Target.Address = "$L$2" Then Sheets("Beschichtung").PageSetup.CenterFooter = "Auftrags-Nr.: " & Sheets("Beschichtung").Range("L2").Text End If End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ArCADe-Spieler Mitglied Metallbautechniker
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für ArCADe-Spieler](/foren/ubb/pmimages/gbu.gif) Beiträge: 251 Registriert: 05.12.2012 Win 10 64bit Office 365 aber Excel 2013
|
erstellt am: 13. Okt. 2017 09:45 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
Guten Morgen zusammen, Zitat: Original erstellt von Thomas Harmening: und falls untenstehendes die Lösung ist, muss ich anmerken, das war jetzt abartig viel Text für eine Problembeschreibung :-)
ich versuchte nur, die sonst allzu häufig aufkommende Klage über zu wenig Information über die Problemstellung und die bisher vorgenommenen Lösungsversuche zu vermeiden und außerdem schreibe ich gern detailiert und versuche sehr korrekt zu formulieren :) Zitat:
Code: Sub Worksheet_Change(ByVal Target As Excel.Range)If Target.Address = "$L$2" Then Sheets("Beschichtung").PageSetup.CenterFooter = "Auftrags-Nr.: " & Sheets("Beschichtung").Range("L2").Text End If End Sub
hm, der Vorschlag von Runkelrübe hatte mich ja schon auf einen funktionierenden Lösungsansatz gebracht, den ich in meinem Post über dem Deinen auch ... gepostet hatte, wozu jetzt also die If-Abfrage ? ... Ah, ist dies die von Runkelrübe angesprochene Eingrenzung des zu überwachenden Bereichs ?! Manchmal ist ein bisschen mehr Text ... in diesem Fall eine kleine Erläuterung zu Deinem Code ... eben doch besser - wie gesagt, ich bin VBA-Laie. BTW ... durch meine (von mir selten angewendete) Antwort mit Zitat weiß ich nun, wie diese nützliche Code-Darstellung entsteht und bin zugleich über über das "Code"-Link-Symbol links und das dort fehlende unterstreichen gestolpert. Da ich verstehe, dass die permanente Ereignis-Überwachung die Tabelle langsamer macht (selbst wenn der Bereich eingegrenzt ist), würde ich ja durchaus gern eine Lösung für "vorm Drucken", also beim Drücken von Strg+P, realisieren. Mein Versuch von gestern funktioniert leider nicht - warum ? Hat jemand einen Tip für mich ? Unities funktionieren leider immer noch nicht. Grüße Gernot [Diese Nachricht wurde von ArCADe-Spieler am 13. Okt. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
![](/foren/ubb/Admin1.gif) ![](/foren/ubb/Admin2.gif) ![](/foren/ubb/Admin3.gif) ![](/foren/ubb/Admin4.gif) ![](/foren/ubb/Admin5.gif) ![](/foren/ubb/Admin1.gif) ![](/foren/ubb/Admin2.gif)
![](/foren/avatars/Thomas_Harmening.gif)
![Schreiben Sie einen Gästebucheintrag für Thomas Harmening](/foren/ubb/pmimages/gbu.gif) Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 13. Okt. 2017 14:24 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif) Nur für ArCADe-Spieler
Zitat: Original erstellt von ArCADe-Spieler: würde ich ja durchaus gern eine Lösung für "vorm Drucken", also beim Drücken von Strg+P, realisieren.
ich bin ja nicht so der Erklärbär :-) Wenn L2 then wäre aus meiner Sicht eine ausreichende Erklärung des Codes :-) zur Vorschau mit dem Wechsel auf die Ribbons gibt es die klassische Seitenansicht nimmer, nur noch per VBA Code: Sheets("Beschichtung").PrintPreview
Strg&P = Druckvorschau ab Xl 2010 mit dem Klick auf Drucken, erst jetzt Sub Workbook_BeforePrint(Cancel As Boolean)... wenn man STRG&P umbiegen könnte aka Code: Private Sub Workbook_Open() Application.OnKey "^p", "Test" 'ummappen des Shortcuts STRG&P Das Makro Test mit [Strg] + [p] starten End Sub
Code: Sub Test() Sheets("Beschichtung").PageSetup.CenterFooter = "Auftrags-Nr.: " & Sheets("Beschichtung").Range("A1").Text Sheets("Beschichtung").PrintPreview '-alte Vorschau MsgBox "Ich werde Gedruckt!" ActiveSheet.PrintOut 'hier wird gedruckt... (ohne vorschau:-)) End Sub
Aber ich befürchte das MS-seitige Shortcuts nicht ohne weiteres umgemappt werden können. es geht - bezogen auf "aber spätestens, wenn per Strg+P die Druckvorschau aufgerufen wird." Aber halt nur mit der guten alten Druckvorschau :-)
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ArCADe-Spieler Mitglied Metallbautechniker
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für ArCADe-Spieler](/foren/ubb/pmimages/gbu.gif) Beiträge: 251 Registriert: 05.12.2012 Win 10 64bit Office 365 aber Excel 2013
|
erstellt am: 13. Okt. 2017 14:39 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
grrrrr, irgendwie scheint meint Ziel nicht klar rüberzukommen : ich will den Inhalt der Zelle L2 (Text) vom Tabellenblatt "Beschichtung" mit vorangestelltem "Auftrags-Nr.: " im mittleren Bereich der Fußzeile stehen haben ... auf dem Ausdruck vom Tabellenblatt "Beschichtung" ... wann und wie der dahinkommt, ist mir ziemlich egal. Runkelrübes Hinweis hat für mich die automatische Übergabe zum Zeitpunkt des Druckens attraktiver gemacht als die permanente Überwachung (für die hier ja schon ein auch bei mir funktionierendes Code-Schnipselchen erarbeitet wurde). Wenn ich (mit Excel 2013 und Sch***-Ribbon-Leisten) Strg+P drücke, kommt automatisch ein, das Excel-Fenster überdeckendes Fenster mit Druckerauswahl und Druckereinstellungen auf der linken Seite und einer Druckvorschau auf der rechten Seite ... ist also NICHT mein Thema So langsam komme ich mir vor wie Werner mit dem Lichtschalter im Krankenhaus Schöntz WE Gernot PS: hm, o.k. nachdem ich das Druck-Icon in die Schnellstart-Leiste gefitzelt hatte, da ich das klassische Drucken in den Ribbon-Leisten (geschlagen sei ihre Erfinderin) nicht gefunden habe, stellte ich nun fest, das beim Drucken über dieses Icon mein BeforePrint-Sub zumindest aufgerufen wird (nun wiederum aber wegen anderer inzwischen testweise eingefügter Zeilen nicht mehr läuft) was beim Drucken über Strg+P gar nicht passierte ... für den Moment mache ich erstmal Wochenende und gehe klettern ...ach so, hier noch der aktuelle Code (der wegen irgendwelchen Problemen bei Orientation abbricht):
Code: Private Sub Workbook_BeforePrint(Cancel As Boolean) With ActiveSheet.PageSetup .Orientation = xlPortait .PaperSize = xlPaperA4 End With If ActiveSheet.Name = "Beschichtung" Then ActiveSheet.PageSetup.CenterFooter = ("Auftrags-Nr.: " & Range("L2")) End If End Sub
und wo ich gerade so darüber nachdenke ... vielleicht wäre ja dann doch irgendwie mein Thema, auch wenn ich noch nicht so ganz durchschaue wie Mittlerweile liebäugele ich tatsächlich mit der Einfügung der einen Zeile in alle anderen Subs, um die Ereignis-Überwachung zu vermeiden ... es sei den, es findet sich noch eine Lösung für Strg+P. Nochmals: Schöntz WE Gernot [Diese Nachricht wurde von ArCADe-Spieler am 13. Okt. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
runkelruebe Moderator Straßen- / Tiefbau
![](/foren/ubb/Admin1.gif) ![](/foren/ubb/Admin2.gif) ![](/foren/ubb/Admin3.gif) ![](/foren/ubb/Admin4.gif) ![](/foren/ubb/Admin5.gif) ![](/foren/ubb/Admin1.gif) ![](/foren/ubb/Admin2.gif) ![](/foren/ubb/Admin3.gif)
![](/foren/avatars/runkelruebe.gif)
![Schreiben Sie einen Gästebucheintrag für runkelruebe](/foren/ubb/pmimages/gbu.gif) Beiträge: 8075 Registriert: 09.03.2006 MS-Office 365 ProPlus x86 WIN7(x64)
|
erstellt am: 13. Okt. 2017 14:51 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif) Nur für ArCADe-Spieler
Moin, >> Dann händisch - weil Makro - alles wieder zurückgeändert Beim nächsten Mal: Vor Makro speichern, nach Makro schließen ohne speichern ;-) Aber Strafe für's unbesehen kopieren und ausführen muß sein ![](/foren/ubb/gemein.gif) Hatte mich auf Deine Ursprungsfrage bezogen: ALLES sheets sollen diese Fußzeile bekommen. Viel Beschreibung ist OK! Die If-Schleife dient dem Verlassen der Sub, wenn die Änderung nicht in L2 stattfand, ja. Bei mehr als einer Zelle verwenden viele die INTERSECT-Methode. https://msdn.microsoft.com/de-de/VBA/Excel-VBA/articles/application-intersect-method-excel
Code: If [Not] Intersect(Target, Range("A1:C1")) Is Nothing Then [Exit Sub]
BeforePrint ist ein Ereignis des WorkBOOKS Das gehört also in "Diese Arbeitsmappe"
Code: Private Sub Workbook_BeforePrint(Cancel As Boolean) Sheets("Beschichtung").PageSetup.CenterFooter = "Auftrags-Nr.: " & Sheets("Beschichtung").Range("L2").Text End Sub
Du kannst nicht einfach Ereignisse kopieren und selbst benennen. Achte auf die Dropdownfelder oderhalb des Codebereichs, die bieten die möglichen vorgefertigten Ereignisse des jeweiligen Bereichs an. Selber welche erfinden, ich denke, soweit sind wir noch nicht^^ Zum OT:
Das fehlende Unterstreichen in den ubb-codes ist kein bug Das wurde auf vielfachen Wunsch alternder Menschen wieder entfernt, da wir mit dem Grundsatz "Unterstrichenes im internet sind links" groß wurden und dort immer ebenso zwanghaft wie unerfolgreich draufklickten. Bitte daher auch nicht benutzen, danke. Unities: scriptblocker, der HTTP-Referer verhindert? CAD.de muß wissen, dass Du wirklich aus dem thread heraus auf die Unitiebuttons geklickt hast und benötigt daher die Informationen. Es wäre sowieso wünschenswert, ihr würdet CAD.de zu den Ausnahmen in euren jeweiligen Was-auch-immer-Blockern hinzuzufügen HTH und schönes Wochenende ![](/foren/ubb/wink.gif) [rredit] Oh, Zwischenantworten... Das Ereignis wird noch nicht durch die Vorschau ausgelöst, sondern wirklich erst BeforePrint, das hast Du aber berücksichtigt, ja? Ein BeforeAnguck ist mir nicht bekannt. Pro-Tipp: Nimm nen PDF-Drucker zum Testen^^ Thomas hat oben noch was ergänzt. Für meinen Geschmack eine recht große Kanone für diesen Spatz, aber ich geb's an dieser Stelle auf und gucke vielleicht morgen nochmal, was dann da bei allen Beteiligten steht. ![](/foren/ubb/krank.gif) ------------------ Gruß, runkelruebe Herr Kann-ich-nich wohnt in der Will-ich-nich-Straße... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ArCADe-Spieler Mitglied Metallbautechniker
![](/foren/ubb/star3.gif) ![](/foren/ubb/star3.gif)
![Schreiben Sie einen Gästebucheintrag für ArCADe-Spieler](/foren/ubb/pmimages/gbu.gif) Beiträge: 251 Registriert: 05.12.2012 Win 10 64bit Office 365 aber Excel 2013
|
erstellt am: 13. Okt. 2017 15:26 <-- editieren / zitieren --> Unities abgeben: ![1 Unity (wenig hilfreich, aber dennoch)](/foren/ubb/z1.gif) ![2 Unities](/foren/ubb/z2.gif) ![3 Unities](/foren/ubb/z3.gif) ![4 Unities](/foren/ubb/z4.gif) ![5 Unities](/foren/ubb/z5.gif) ![6 Unities](/foren/ubb/z6.gif) ![7 Unities](/foren/ubb/z7.gif) ![8 Unities](/foren/ubb/z8.gif) ![9 Unities](/foren/ubb/z9.gif)
Doch nochmal hallo (Mensch, meine kleine Schwester wartet schon bei der Kletterhalle ![](/foren/ubb/tongue.gif) ), Zitat: Original erstellt von runkelruebe: Moin,>> Dann händisch - weil Makro - alles wieder zurückgeändert Beim nächsten Mal: Vor Makro speichern, nach Makro schließen ohne speichern ;-) Aber Strafe für's unbesehen kopieren und ausführen muß sein ![](/foren/ubb/gemein.gif)
jaja, hab's ja eingesehen :) Zitat: Hatte mich auf Deine Ursprungsfrage bezogen: ALLES sheets sollen diese Fußzeile bekommen.
KÖNNEN ... wirklich brauchen tue (iikse, was für ein schlechtes Deutsch) ich sie nur bei Ausdrucken vom Tabellenblatt "Beschichtung" Zitat: Viel Beschreibung ist OK!
oh danke, ich dachte schon ich hätte da irgendwas übersehen ... ist dann wohl eher (nur) eine Befindlichkeit von Thomas ;) Zitat: Die If-Schleife dient dem Verlassen der Sub, wenn die Änderung nicht in L2 stattfand, ja. Bei mehr als einer Zelle verwenden viele die INTERSECT-Methode. https://msdn.microsoft.com/de-de/VBA/Excel-VBA/articles/application-intersect-method-excel
Code: If [Not] Intersect(Target, Range("A1:C1")) Is Nothing Then [Exit Sub]
begriffen, danke Zitat: BeforePrint ist ein Ereignis des WorkBOOKS Das gehört also in "Diese Arbeitsmappe"Code: Private Sub Workbook_BeforePrint(Cancel As Boolean) Sheets("Beschichtung").PageSetup.CenterFooter = "Auftrags-Nr.: " & Sheets("Beschichtung").Range("L2").Text End Sub
Du kannst nicht einfach Ereignisse kopieren und selbst benennen. Achte auf die Dropdownfelder oderhalb des Codebereichs, die bieten die möglichen vorgefertigten Ereignisse des jeweiligen Bereichs an. Selber welche erfinden, ich denke, soweit sind wir noch nicht^^
der Witz ist, dass man auch zu Worksheet_BeforePrint Sachen ergoogeln kann und dort keinerlei Fehleransage erhält ... einzig den Umzug vom Tabellenblatt in "DieseArbeitsmappe" hatte ich wegen der Workbook-Eigenschchaft schon entdeckt und vollzogen Zitat: Zum OT:Das fehlende Unterstreichen in den ubb-codes ist kein bug Das wurde auf vielfachen Wunsch alternder Menschen wieder entfernt, da wir mit dem Grundsatz "Unterstrichenes im internet sind links" groß wurden und dort immer ebenso zwanghaft wie unerfolgreich draufklickten. Bitte daher auch nicht benutzen, danke.
verstehe ich, und kann es nachvollziehen :D ... und werde mich dran halten Zitat: Unities: scriptblocker, der HTTP-Referer verhindert? CAD.de muß wissen, dass Du wirklich aus dem thread heraus auf die Unitiebuttons geklickt hast und benötigt daher die Informationen. Es wäre sowieso wünschenswert, ihr würdet CAD.de zu den Ausnahmen in euren jeweiligen Was-auch-immer-Blockern hinzuzufügen
hab "nur" ABP am Start und cad.de als Domain in den Ausnahmen ... na macht nichts, ich probiere es später mal von zuhause aus ... da kann ich am Rechner soviel rum-verstellen wie ich will Zitat:
HTH und schönes Wochenende ![](/foren/ubb/wink.gif) [rredit] Oh, Zwischenantworten... Das Ereignis wird noch nicht durch die Vorschau ausgelöst, sondern wirklich erst BeforePrint, das hast Du aber berücksichtigt, ja? Ein BeforeAnguck ist mir nicht bekannt. Pro-Tipp: Nimm nen PDF-Drucker zum Testen^^
![](/foren/ubb/krank.gif) ... "natürlich" bin ich zum Papier-sparen immer nur bis zur Voransicht gegangen und habe dann frustriert mit Escape abgebrochen ... mit diesem -->entscheidenden<-- Hinweis habe ich jetzt auch wirklich mal gedruckt und siehe da :D ... ist aber doof, da viele Nutzer hier eben diese Voransicht akribisch prüfen und dann eben nicht Drucken ... scheint mehr und mehr auf die Verteilung der Zeile Code: Sheets("Beschichtung").PageSetup.CenterFooter = "Auftrags-Nr.: " & Sheets("Beschichtung").Range("L2") 'mittleren Bereich der Fußzeile befüllen
in allen Subs hinauszulaufen und wech so, neue Woche - neues Glück ... hab's nun in die letztendlich überraschender Weise (auch für mich selbst, obwohl ich das Ganze selbst geschrieben habe) nur 4 relevanten Subs eingefügt ... all die anderen sind "nur" Steuerungs- und Verteilungs-Subs Und damit sage ich mal - auch wenn es nicht ganz so endet, wie ich es mir erhofft hatte - fertig ! [Diese Nachricht wurde von ArCADe-Spieler am 16. Okt. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
![](https://ww4.cad.de/books/view.php?what=zone:12261&n=s12261BB) |