Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
416to420
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
416to420
416to420
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schaltflächen trotz Blattschutz aktivieren

Schaltflächen trotz Blattschutz aktivieren
Frank
Guten Tag, zusammen!
Ich habe ein Formular in einem Registerblatt entworfen. Es ist ohne eine so genannte UserForm angelegt, also nur mit Blattschutz: Die Zellen, in die der Benutzer etwas eingeben kann, haben nicht mehr die Eigenschaft "Gesperrt", so dass nach Aktivieren des Blattschutzes Eingaben nur in diese wenigen Zellen möglich sind.
Auf einem weiteren Registerblatt erfolgt die Auswertung der von dem Benutzer gemachten Angaben in einer Tabelle, für die ich vorsichtshalber 2000 Zeilen vorgesehen habe. Damit eine Druckausgabe nur des Relevanten möglich wird, habe ich zur Druckvorbereitung eine Schaltfläche angelegt und dieser Schaltfläche (mit Hilfe des Makrorekorders - für mehr reichen meine Kenntnisse nicht) das Setzen eines Autofilters zugewiesen. Darüber, dass es so weit funktioniert, freute ich mich schon, aber offenbar zu früh: Wenn ich jetzt den Blattschutz aktiviere, kann ich die Schaltfläche nicht mehr benutzen. Ich erhalte die Fehlermeldung "Dieser Befehl kann in einer geschützten Tabelle nicht verwendet werden." Es folgt ein Hinweis, wie der Blattschutz aufzuheben sei.
Ich würde gern mit Hilfe des Blattschutzes vermeiden, dass die Benutzer des Formulars ungewollt "kostbare" Formeln zerstören und ihnen andererseits die Vorbereitung zum Drucken per Schaltfläche ermöglichen.
Weiß jemand Rat?
Schon im voraus vielen Dank für Eure Mühe.
Viele Grüße
Frank
AW: Schaltflächen trotz Blattschutz aktivieren
Ulf
Du meinst, du möchtest den Autofilter trotz Blattschutz verwenden?
Ulf
AW: Schaltflächen trotz Blattschutz aktivieren
Frank
Hallo, Ulf!
Ja, das war eigentlich meine Idee. Geht das nicht?
Ich vermutete bisher (weil ich so etwas erstmals mache), dass das mit der Schaltfläche verbundene Makro nicht ausgeführt werden kann, weil der Blattschutz aktiv ist, das heißt, dass bei aktiviertem Blattschutz nicht nur dieses Makro, sondern überhaupt keines ausgeführt werden kann.
Viele Grüße
Frank
AW: Schaltflächen trotz Blattschutz aktivieren
Matthias
Hallo Frank,
wie lautet Dein Code denn?
Du müsstest vor einer Änderung des Blattes per Makro den Blattschutz aufheben:
vor der Änderung
ActiveSheet.Unprotect Password:="123"
und anschließend wieder setzen:
ActiveSheet.Protect Password:="123"
Gruß Matthias
Anzeige
AW: Schaltflächen trotz Blattschutz aktivieren
Frank
Hallo, Matthias G!
Freundlicher- und dankenswerterweise beschäftigst Du Dich wieder mal mit einem meiner Excel-Probleme (gestern schon einmal).
Wie der Code lautet, weiß ich nicht. Ich werde wohl erst mal herausfinden müssen, wie ich den Code lesen kann.
Bitte entschuldige diese - zugegeben - dämliche Antwort, aber ich bin Anfänger.
Viele Grüße
Frank
AW: Schaltflächen trotz Blattschutz aktivieren
Matthias
Hallo Frank,
mit Alt-F8 das Makro-Fenster herholen, das Makro in der Liste markieren und auf "Bearbeiten" klicken - da siehst Du es und kannst es hier rein kopieren.
Gruß Matthias
AW: Schaltflächen trotz Blattschutz aktivieren
Frank
Hallo, Matthias!
Schon passiert. Ich bin irgenwie mit Alt+F11 in die Codes gekommen.
Diese Tastenkombination hatte ich mal irgendwo gelesen.
Den Code habe ich schon ins Forum gestellt. Wir sind da um ein paar Sekunden aneinander vorbeigerauscht.
Wirf doch bitte mal einen Blick darauf.
Vielen Dank.
Gruß
Frank
Anzeige
AW: Schaltflächen trotz Blattschutz aktivieren
Matthias
Hallo Frank,
wenn ich das richtig interpretiere, soll der Autofilter einige Zeilen ausblenden.
Ich schätze mal, am Ende des Makros soll der Autofilter wieder ausgeschaltet und die Spalte A wieder eingeblendet werden...?

Sub Druckvorbereitung()
' Druckvorbereitung Makro
' Makro am 19.04.2004 aufgezeichnet
' modifiziert am 21.04.2004
' Tastenkombination: Strg+d
ActiveSheet.Unprotect
Range("A10").AutoFilter Field:=1, Criteria1:=">0", Operator:=xlAnd
Columns("A:A").Hidden = True
ActiveWindow.SelectedSheets.PrintPreview
Columns("A:A").Hidden = False
Range("A10").AutoFilter
ActiveSheet.Protect
End Sub

Gruß Matthias
Anzeige
Erster Lösungsschritt gefunden! Geht es so weiter?
Frank
Hallo, Matthias G!
Ich habe mich einfach mal getraut (als Anfänger hat man ja immer Angst, wesentliche Dinge zu zerstören) und die in Deiner ersten Antwort enthaltenen Hinweise
ActiveSheet.Unprotect
...
ActiveSheet.Protect
vor und hinter den Code gesetzt. Offensichtlich funktioniert es. Ich bin äußerst positiv überrascht!
Du hast es übrigens richtig verstanden: Zunächst sollte der Autofilter gesetzt werden, damit die überflüssigen Zeilen, die keine Daten enthalten (im Zweifel der weitaus größte Teil der Tabelle, weil sie "auf Vorrat" angelegt ist), für die Druckausgabe verschwinden. Anschließend sollte die Spalte A, die das "Maß aller Dinge" für die Unterscheidung von "relevant" und "überflüssig" ist (denn sie enthält nur dort Ziffern, wo etwas in den Spalten B bis ... steht) ausgeblendet werden. Dann führt das Makro in die Seitenansicht, damit der Benutzer vor dem Drucken sieht, was dabei rauskommt. Hier ließ ich die Aufzeichnung enden, damit vor dem Drucken evtl. noch Änderungen der Einstellungen vorgenommen werden können.
Die Idee war, dass der Benutzer dann das Drucken des Registerblatts selbst veranlasst.
Anschließend stellte ich eine weitere Schaltfläche mit dem Makro "Druckvorbereitung rückgängig" zur Verfügung. Der Code lautet wie folgt:

Sub DruckvorbereitungRückgängig()
' DruckvorbereitungRückgängig Makro
' Makro am 19.04.2004 aufgezeichnet
' Tastenkombination: Strg+r
Cells.Select
Selection.EntireColumn.Hidden = False
Selection.AutoFilter
Range("B10").Select
End Sub

So bleibt es dem Benutzer überlassen, ob er drucken will oder nicht oder ob er die Datei sofort wieder löscht (bzw. gar nicht erst speichert), denn der Inhalt der Datei ist äußerst kurzlebig: Es handelt sich um eine Datei zur Berechnung von Zinsrückständen mit gleitenden Zinssätzen auf der Grundlage des Basiszinssatzes nach § 247 BGB.
Vermute ich richtig, dass ich auch den zweiten Code mit "ActiveSheet.Unprotect" und "ActiveSheet.Protect" ergänzen muss?
Nochmals vielen Dank!
Viele Grüße
Frank
Anzeige
AW: Hat sich erledigt, oder?
Matthias
...Du hast ja scheinbar eine Lösung für Dich gefunden!
Gruß Matthias
Erfreulicherweise erledigt!
Frank
Hallo, Matthias G!
Die Frage beantworte ich mit einem klaren "Ja."
Mit Hilfe Deiner Anregungen konnte ich die Formulardatei bzw. die Makrocodes so verändern, dass das Wunschergebnis erzielt wurde.
Nochmals Danke!
Viele Grüße
Frank
HURRA! GELÖST! MATTHIAS G SEI DANK!
Frank
Hallo, Matthias G!
Es funktioniert wie gedacht!
Wie alle Lösungen, wenn sie erst mal gefunden sind und schwarz auf weiß da stehen, ist auch diese einfach.
Allein hätte ich mich nie getraut, in Codes herumzufummeln. Dank Deiner moralischen und technischen Unterstützung habe ich wieder ein Stück Excel-Wissen hinzugewonnen.
Nochmals ein Dank in verschärfter Form!
Viele Grüße
Frank
Anzeige
AW: Danke für die Rückmeldung! - o.T.
21.04.2004 13:23:49
Matthias
:-)
AW: Schaltflächen trotz Blattschutz aktivieren
Frank
Hallo, Matthias G!
Ich glaube, ich habe den Code herausgefunden.
Er lautet wie folgt:

Sub Druckvorbereitung()
' Druckvorbereitung Makro
' Makro am 19.04.2004 aufgezeichnet
' Tastenkombination: Strg+d
Range("A10").Select
Selection.AutoFilter
Selection.AutoFilter Field:=1, Criteria1:=">0", Operator:=xlAnd
Columns("A:A").Select
Selection.EntireColumn.Hidden = True
ActiveWindow.SelectedSheets.PrintPreview
End Sub

Muss ich jetzt da was ergänzen?
Ein Passwort habe ich für den Blattschutz nicht vergeben.
Viele Grüße
Frank
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge