Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
792to796
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
792to796
792to796
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schreibschutz - schreiben Ja, löschen Nein

Schreibschutz - schreiben Ja, löschen Nein
22.08.2006 15:57:36
thema
Hallo liebe EXCEL-Experts!
gibt es eine Möglichkeit, ein Tabellenblatt/Zellen oder eine ganze Datei
für's SCHREIBEN frei zu geben
für's LÖSCHEN zu sperren?
Falls dies nicht möglich ist(wovon ich ausgehe), könnte ich mir folgendes vorstellen:
jede gefüllte Zeile wird gesperrt (z.B. beim Speichern)
jede freie Zeile bleibt erst mal zum Schreiben frei
d.h. der Benuzter soll beim Öffnen immer nur in die nächste leere Zeile schreiben dürfen.
So stelle ich es mir vor - aber wie das geht, davon habe ich leider keine Ahnung und danke deshalb allen, die hier ihre Ideen/Vorschläge beisteuern könnten.
Grüße
TheMa

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schreibschutz - schreiben Ja, löschen Nein
22.08.2006 17:19:48
Matthias
Hallo Thema,
das ist schon machmar, es muss allerdings definiert werden, welche "die nächste leere Zeile" ist:

  • Durch Eintrag in welche Spalte wird die Zelle als "belegt" definiert?
  • Wenn oberhalb Zeilen frei sind, dürfen diese dann beschrieben werden?
  • Ist gewährleistet, dass die Datei mit aktivierten Makros geöffnet wird? (Sonst hat das nämlich keinen Sinn)

Gruß Matthias
AW: Schreibschutz - schreiben Ja, löschen Nein
22.08.2006 17:35:51
thema
Hallo Matthias,
d.h. nur mit VBA kann's funktionieren?
Zu deinen Fragen:
- Die Bedingung für "belegt" muss/kann ich selbst festlegen
Z.B. Einträge von A bis G müssen in Spalte H mit einem Eintrag abgeschlossen werden,
so könnte man z.B. die Zellen in H auf gefüllt/leer abfragen
- Somit wären auch leere Zeilen "oberhalb" frei gegeben,
aber ich kann das selbst bestimmen, d.h. ich würde bevorzugen, dass nur
Zellen "unterhalb" zum Schreiben frei gegeben sind
- Ich gehe davon aus, dass VBA möglich ist
Also, wenn's unter diesen Bedingungen eine Lösung gibt: Vielen Dank. (Auch wenn ich leider in VBA nicht fit bin, es könnte mir vielleicht dann der Kollege weiter helfen).
Danke im voraus
und Grüße
TheMa
Anzeige
AW: Schreibschutz - schreiben Ja, löschen Nein
22.08.2006 18:14:01
Matthias
Hallo Thema,
VB-Editor öffnen mit Alt+F11, dann links Doppelklick auf "DieseArbeitsmappe", dann rechts diesen Code einfügen:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
ZeilenSchützen
End Sub

dann Menü Einfügen, Modul, ins erscheinende Codefenster dann diesen Code kopieren:

Sub ZeilenSchützen()
Const pw = "123" 'Blattschutz-Kennwort (bitte anpassen)
Const Tabelle = "Tabelle1" 'Tabellenname (bitte anpassen)
Dim lz As Long, z As Long
With Sheets(Tabelle)
'letzte gefüllte Zeile ermitteln:
lz = .Cells(Rows.Count, 8).End(xlUp).Row
.Unprotect Password:=pw
Range("1:" & lz).Locked = True
Range(lz + 1 & ":" & Rows.Count).Locked = False
.Protect Password:=pw
End With

Da das Blattschutzkennwort im Code steht musst du diesen noch vor fremden Blicken schützen:
Menü Extras, Eigenschaften von VBProject, Reiter "Schutz", Haken bei "Projekt für die Anzeige sperren", unten noch ein Kennwort vergeben und nicht vergessen.
Dann kannst du den VB-Editor wieder schließen und die Datei speichern. Bei jedem Speichern werden die benutzten Zeilen gesperrt.
Viel Erfolg,
Matthias
Anzeige
AW: Schreibschutz - schreiben Ja, löschen Nein
22.08.2006 18:35:49
Thema
Hallo Matthias,
erst mal vielen Dank für die schnelle Rückmeldung.
Nach deiner Beschreibung sollte das Skript genaut das tun, was von meiner Datei gefordert wird.
Aber leider funktioniert es nicht:
Nach dem erneuten Laden der Datei kann ich munter auch beschriebene Zellen überschreiben?
Hm, mache ich etwas falsch? Ich denke, das Einbinden des Makros habe ich richtig gemacht.
(Das mit dem Passwort vor fremden Blicken schützen, habe ich zunächst mal weg gelassen).
Darf ich dir die Test-Datei schicken...
https://www.herber.de/bbs/user/36047.xls
Vielleicht kannst du dann sehen, wo's bei mir hakt.
Danke!
Gruss Thema
Anzeige
AW: Schreibschutz - schreiben Ja, löschen Nein
22.08.2006 18:56:33
Matthias
Hallo Thema,
es geht um diese Zeile hier:

'letzte gefüllte Zeile ermitteln:
lz = .Cells(Rows.Count, 8).End(xlUp).Row

die 8 bedeutet "H", d.h. es wird nach der letzten gefüllten Zelle in Spalte H gesucht. In deinem Besispiel müsstest du die 8 in 3 ändern (Spalte C).
Gruß Matthias
AW: Schreibschutz - schreiben Ja, löschen Nein
22.08.2006 19:03:27
thema
Hallo Matthias,
ja richtig, ich hatte ja diese Vorgabe gemacht mit der Abfrage auf Spalte H.
Auf jeden Fall ist deine Lösung super und ich sage ganz vielen Dank!
Grüße TheMa

30 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige