Clever-Excel-Forum

Normale Version: Spalten in geschütztem Arbeitsblatt ausblenden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
[attachment=9425][attachment=9426]
Liebe Excelwissende,

meine Kollegen müssen für den Kostenträger dokumentieren.

Hierzu habe ich eine Exceltabelle angelegt, die Dokumentation ist monatlich zu führen und die Arbeitsblätter sollen geschützt sein, damit keine Formel überschrieben werden kann.

Die Dokumentation soll für uns mit allen Spalten auszudrucken sein und für den Kostenträger ohne Spalte H, die aber im geschützten Arbeitsblatt nicht ausgeblendet werden kann.

Über die Funktion Druckbereich kann vermutlich nur eine Option abgedeckt werden!

Hat jemand eine Idee, wie dieses gelöst werden könnte.

Ich hänge die Arbeitsmappe einmal mit geschütztem und einmal mit ungeschütztem Arbeitsblatt an.

Vielen Dank schon mal für Antworten.

Schöne Grüße
Hi,

(07.02.2017, 13:18)Excelazubi schrieb: [ -> ]Die Dokumentation soll für uns mit allen Spalten auszudrucken sein und für den Kostenträger ohne Spalte H, die aber im geschützten Arbeitsblatt nicht ausgeblendet werden kann.

Du könntest Dir zwei Makros aufzeichnen:
  1. Spalte H ausblenden, Druckbereich festlegen, ausdrucken, Spalte H einblenden, Druckbereich löschen
  2. Druckbereich festlegen, ausdrucken, Druckbereich löschen
diese beiden Makros postest Du hier, dann können wir sie verkürzen, bereinigen und verallgemeinern.

Dann legst Du die auf Buttons und kannst so das Gewünschte ausdrucken.

Wenn Du die verbundenen Zellen G1:H1 auflöst, mußt Du die Spalte H nichtmal ausblenden:
Option Explicit

Sub Eigen_Ausdruck()
'
' Eigen_Ausdruck Makro
'

'
   ActiveSheet.PageSetup.PrintArea = "$A$1:$H$30"
   ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
       IgnorePrintAreas:=False
   ActiveSheet.PageSetup.PrintArea = ""
End Sub

Sub Träger_Ausdruck()
'
' Träger_Ausdruck Makro
'

'
   ActiveSheet.PageSetup.PrintArea = "$A$1:$G$30"
   ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
       IgnorePrintAreas:=False
   ActiveSheet.PageSetup.PrintArea = ""
End Sub
[attachment=9435]
Hallo Ralf,

vielen Dank für deine Antwort.

Ich hab jetzt mal Makros aufgezeichnet!

Nachdem ich tatsächlich ein Excelazubi bin, weiß ich nicht ob es so richtig ist.

Ich hab wie du geschrieben hast, den Zellverbund G1:H1 aufgelöst.

Hier jetzt nochmal das Dokument mit Makros.

Schöne Grüße
Hi,

(07.02.2017, 17:54)Excelazubi schrieb: [ -> ]Hier jetzt nochmal das Dokument mit Makros.

Das sieht doch gar nicht schlecht aus. Die Codes werden jetzt nur durch die Tastenkombinationen STRG-SHIFT-E und -K gestartet? Du könntest sie auch durch Buttons aufrufen. Da werden jetzt nur die Einstellungen für das Drucken definiert und nicht die Blätter gleich ausgedruckt, ist das Absicht?

Für das Ausdrucken ist in meinen oben gezeigten Codes dieser Teil zuständig:
Code:
  ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
      IgnorePrintAreas:=False

Diesen Code könntest Du am Ende jedes Subs einfügen.

Im ersten Sub den Sprung in die andere Sub auskommentieren wie hier durch ein vorangestelltes ':
'    Application.Goto Reference:="Ausdruck_Eigen" 
'    Range("A1:H30").Select
Hallo Ralf,

vielen Dank für deine Hilfe!

Natürlich war das keine Absicht, sondern einfach Nichtwissen! Bin halt ein Azubi!

Ich versuch jetzt mal mein Glück mit dem Einfügen deiner Infos in meine geschriebenen Makros und beim Anlegen der Druckbuttons.

Schöne Grüße
Hallo Ralf,

vielen Dank für deine Hilfe, ich habe es hinbekommen.

Schöne Grüße