online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon BenjaminM vom 14.10.2021, 11:04 Options

Lösung

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

Lö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

Ähnliche Themen

Versteckte Spalten sperren
Peter3011  06.08.2008 - 2 Hits - 2 Antworten

Ungenutzte Spalten und Zeilen ausblenden mit Excel 2007
Coci_vs_Excel  21.08.2008 - 314 Hits - 9 Antworten

Werte von Zeilen in Spalten kopieren
SaschaWittke  11.12.2008 - 28 Hits - 6 Antworten

Zellen/Zeilen per VBA sperren
afetinci  17.04.2009 - 272 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026