Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1508to1512
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
Inhaltsverzeichnis

Templates vor Usern schützen

Templates vor Usern schützen
30.08.2016 13:38:52
Ole
Hallo
ich habe ein Programm geschrieben, dass ich schützen möchte. Das Makro soll trotz des Schutzes weiterarbeiten können.
Mein bisherige Lösung lautet
Sub schutz
Worksheets("Tabelle1").unprotect "abc"
'Makroanweisung
Worksheets("Tabelle1").Protect "abc"
End Sub
Da ich sehr große Datensätze verarbeite, kann das Makro je nach Eingabe des Nutzers 7-30 Minuten brauchen.
Da kann man leicht ungeduldig werden und bricht gerne durch das Makro durch das drücken des Esc-Kopfes ab.
(Und ja es braucht wirklich so lange. 1.500-18.000 individuelle Tabellenblätter erzeugt)
Durch das Abbrechen wird der Schutzbefehl nicht mehr ausgeführt und das Arbeitsblatt ist nicht mehr geschützt.
Das kann gut vorkommen, wenn jemand eine falsche Auswahl getroffen hat und abbrechen möchte oder denkt, dass Excel abgestürzt ist.
Ich möchte aber, dass ein Nutzer nicht die Möglichkeit hat aus versehen etwas zu verändern.
Lösungsmöglichkeiten:
1. Die Blätter bleiben weiterhin geschützt
2. Der Nutzer kann die Datei nicht speichern, solange er nicht ein entsprechendes Passwort kennt (gibt es sowas?)
3. Ich baue noch einen Ladebalken mit ein
Anmerkung zu den Lösungen:
zu 1. hier hat der Nutzer keine Chance was falsch zu machen
zu 2. hier hat der Nutzer nicht die Chance die Datei zu beschädigen, aber ein falsches Ergebnis zu erhalten
zu 3. hier wird die Wahrscheinlichkeit des Abbrechens verringert und ist optisch schön
Am liebsten hätte ich alle drei Möglichkeiten drin.
Nun zu meinen Fragen:
a) Sind die Lösungen 1 & 2 überhaupt möglich?
b) Gibt es noch bessere/weitere Lösungsmöglichkeiten?
c) Wie könnte 1 & 2 aussehen?
vielen Dank im Vorraus!
Gruß
Ole

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Templates vor Usern schützen
30.08.2016 13:43:48
Rudi
Hallo,
Sub schutz
Worksheets("Tabelle1").protect Password:="abc", userinterfaceonly:=True
'Makroanweisung
End Sub
Dann gilt der Schutz nicht für Änderungen durch Makros.
Gruß
Rudi
AW: Templates vor Usern schützen
30.08.2016 14:18:01
Nepumuk
Hallo,
zu 1. Hast du eine Lösung von Rudi.
2. Vergib ein Schreibschutzkennwort das wird beim Öffnen der Mappe abgefragt und nur der der es kennt kann die Datei speichern.
Du könntest das Abbrechen des Programms unterbinden mit:
Application.EnableCancelKey = xlDisabled
Gruß
Nepumuk
AW: Templates vor Usern schützen
30.08.2016 14:33:22
Ole
Hallo Rudi, hallo Nepumuk,
danke für die schnellen Antworten!
@Nepumuk
das ist eine gute Idee :)
@Rudi
Die Lösung kling ja super einfach :D , leider kommt bei mir ein Laufzeitfehler, der besagt, dass die Tabelle schreibgeschützt ist. Dabei fallen folgende Dinge auf:
- Autokorrektur für Groß- und Kleinschreibung greift nicht ein bei usErINteRfaCeOnly:=True und es wird deswegen auch kein Fehler ausgegeben. Vielleicht finde ich den Rechtschreibfehler auch nicht
For Each SchutzBlatt In ThisWorkbook.Worksheets
SchutzBlatt.Protect Password:="abc", usErINteRfaCeOnly:=True
Next SchutzBlatt
- Beim Debuggen taucht Laufzeitfehler beim Kopieren von Daten aus anderen Workbooks in das geschützte Workbook auf
Anzeige
AW: Templates vor Usern schützen
30.08.2016 14:57:18
Ole
Ich habe noch ein wenig rumprobiert:
userinterface:= true ermöglicht Workbookinterne Operationen durchzuführen, die vorher nicht erlaubt waren wie z.b. clearcontents
aber Workbookübergreifend geht das nicht:
Workbooks.OpenText varName, Local:=True '.csv Datei wir geöffnet
tmpLR = ActiveWorkbook.Worksheets(1).Cells(1048576, 2).End(xlUp).Row
ActiveWorkbook.Sheets(1).Range("A1:B" & tmpLR).Copy Destination:=ThisWorkbook.Worksheets("tmp").Cells(1, j)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige