Zeilen und Spalten Sperren?
Hallo @ all,
ich hab da mal wieder eine Frage.
Wie kann ich in Excel ´97, Zeilen und Spalten sperren?
Nicht einzelne Zellen!
Ich möchte das die Zeilen- und Spaltenbreiten nicht veränderbar sind.
Wenn ich aber das Blatt schütze, kann ich meine Makros nicht mehr ausführen.Dieses soll aber gewährleistet sein.
Also, ich brauche nen Lösungsvorschlag wie ich die Tabelle weiter nutzen kann, ohne das es die Möglichkeit gibt die Breiten der Spalten und Zeilen zu ändern.
Habt ihr ne Idee?
Vielen Dank im Vorraus
Benjae
Antwort schreiben
Antwort 1 von coros vom 14.10.2021, 11:25 OptionsLösung
Hallo Benjae,
Du kannst auch trotz Blattschutz Deine Makros anwenden. Du muss nur an dem Punkt, an dem Dein Makro etwas in das gesperrte Blatt schreibt oder auch gleich am Anfang des Makros, das ist egal, den Blattschutz mit
Sheets("Blattname").Unprotect Password:="Das Blattschutzpasswort"
aufheben und am Ende das Makros diesen mit
Sheets("Blattname").Protect Password:="Das Blattschutzpasswort"
wieder einschalten.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von BenjaminM vom 14.10.2021, 11:49 Options
Hallo Oliver,
danke für deine Hilfe.
die Lösung ist echt gut, jedoch arbeitet mein Makro mit diesem Array
(hier ein Bsp. bevor ich lang erkläre)
Dim Monat
Monat = Array("", "Jan", "Feb",
"Mrz", "Apr", "Mai", "Jun", "Jul",
"Aug", "Sep", "Okt", "Nov", "Dez")
Name = ActiveSheet.Name
Wenn ich deinen Code davor setze funzt es auf keinen Fall, da der Blattname nicht definiert ist.
Das Makro wird aus dem jeweiligen Tabellenblatt gestartet!
(siehe letzte Zeile im Code)
Nun weiß ich nicht, ob es etwas bringt den Code irgendwo anders im Makro unterzubringen, da dieser ja den Blattname abfragt. Gibts da noch ne andere Lösung?Oder ne Änderung im Code?
Danke & Gruß
Benjae
Antwort 3 von coros vom 14.10.2021, 11:55 Options
Hallo Benjamin,
ich kenne Deine Makros nicht und weiß auch nicht, was diese machen. Dein Codeschnipsel, den Du gepostet hast hilft da auch nicht weiter. Wie bereits geschrieben, musst Du an dem Punkt, an dem Du in ein Tabellenblatt schreibst, für dieses Tabellenblatt den Schutz aufheben. Das Blatt wirst Du ja wohl irgendwie in Deinem Makro ansprechen.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von malSchauen vom 14.10.2021, 13:14 Options
Hi,
@Benjae (BenjaminM)
Was spricht gegen
name = ActiveSheet.name
Sheets(name).Unprotect
oder gegen
ActiveSheet.Unprotect
.
btw: Ist der Tabellenschutz mit Passwort belegt? Sind die Passwörter der verschiedenen Tabellen identisch?
bye
malSchauen
Antwort 5 von BenjaminM vom 14.10.2021, 13:37 Options
Danke Oliver für den Gedankenanstoß.
Habe das Problem gelöst, mänchmal kann alles so einfach sein!
Habe einfach unter meinem "Codeschnippsel" folgendes geschrieben:
ActiveSheet.Unprotect
und schon ist der Blattschutz aufgehoben.
Am Ende noch
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
Und das Blatt ist wieder geschützt!
(alles ohne Passwort!)
Wenn ich ein Passwort anlege, muss ich es beim Makro Start manuell eingeben. aber so ist schon schön!
Danke & Gruß Benjae
Antwort 6 von coros vom 14.10.2021, 13:41 Options
HAllo Benjamin,
das was Du im Moment machst, funktioniert aber nur solange, wie Dein Blattschutz kein Passwort hat. Verwendest Du ein Passwort beim Blattschutz musst Du es mit übergeben, wie in AW1 aufgeführt.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 7 von malSchauen vom 14.10.2021, 13:46 Options
Hi,
@Coros
Ich hab es hier unter 2007 gerade getestet. Ist ein Passwort vergeben fordert Dich die Codezeile ActiveSheet.Unprotect zur Eingabe des Passwortes auf. Funktioniert auch, solang das Passwort korrekt eingegeben wird. Bei Fehleingabe -> Laufzeitfehler (klar). Dieser Fall sollte dann bei Verwendung von Passworten nat. abgefangen werden.
bye
malSchauen
Antwort 8 von coros vom 14.10.2021, 13:49 Options
Hallo,
und damit diese Frage nicht kommt, muss das Passwort mit übergeben werden, wie in AW1 geschrieben. Daher auch meine Anmerkung in AW6.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 9 von BenjaminM vom 14.10.2021, 15:02 Options
Hallo @ all,
der Oliver hat Recht!
Habe es gerade getestet und bei vergabe eines Passwortes muss dieses übergeben werden. s.o. AW1!
In meinem Fall sieht das so aus:
ActiveSheet.Unprotect Password:="Passwort"
ActiveSheet.Protect Password:="Passwort"
Und das funzt absolut, sogar unter Excel ´97!
Gruß Benjae