Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Für jedes Blatt eine Passwortabfrage

Forumthread: Für jedes Blatt eine Passwortabfrage

Für jedes Blatt eine Passwortabfrage
07.12.2025 12:44:57
Ingo79
Hallo, ich habe ein zwei Fragen. Zum einem habe ich (zumindest gedacht) die Tage bereits einen Post verfasst. Ich habe jetzt versucht diesen wieder zu finden? Was mich aber wundert. Es gibt keinen (oder ich finde ihn nicht) anmelde Button um meine alten Beiträge zu finden? Ist das so korrekt? Unter suchen habe ich Ihn leider auch nicht gefunden.

Zu meinem eigentlich Problem.
Ich habe eine Excel Tabelle die auf Sharepoint eingestellt wird. Hier sollen nun mehrere Nutzer gleichzeitig zu einem bestimmten Termin die Tabelle bearbeiten können.
Die Mappe hat verschiedene Blätter. Wünschenswert wäre folgende Konstellation.

Jeder Bearbeiter bekommt ein zugewiesenes Passwort mit dem er sein Tabellenblatt bearbeiten darf.

Zum Aufbau. Blatt 1 fasst alle Daten aus den gemeldeten (ausgefüllten) Tabellenblättern 2-8 zusammen. Das funktioniert natürlich schon.

Blatt 2-8 soll so geschützt werden das,
- jeweils eine Passwortabfrage erfolgt. Bei richtiger Eingabe wird das Blatt bzw nur die zu befüllenden Zellen freigegeben das der Nutzer seine Einträge macht.
- idealerweise, würde auch erst mit Eingabe dieses Passwort das Blatt zu sehen sein. Das ist aber nicht zwingend erforderlich.

Hauptsächlich soll die Passwortabfrage dazu dienen, dass Nutzer A nicht versehentlich die Tabelle von Nutzer B befüllt oder was ändert. Es sind keine personenbezogen Daten enthalten. Daher wäre es nicht so schlimm, wenn Nutzer A das Tabellenblatt von Nutzer B sehen kann. Aber cool wäre auch wenn das ausblenden und einblenden per Passwort funktionieren würde.

Danke im Voraus
Anzeige

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Für jedes Blatt eine Passwortabfrage
07.12.2025 14:06:32
ReginaR
Hi,

per VBA problemlos machbar, aber: Die User müssten die Exceldatei dann immer in der Desktop-App öffnen, da VBA-Codes in der Browser-App nicht laufen. Wenn das OK ist, kann ich Dir einen kleinen Beispiel-Code schicken.

VG Regina
AW: Für jedes Blatt eine Passwortabfrage
07.12.2025 14:15:22
Ingo79
Hallo. Das wäre sehr nett. Puh dann habe ich ein Problem wenn das nicht direkt in Sharepoint geht. Die Bedingung war halt das es in der Sharepoint Anwendung bearbeitet wird. Weil wenn sie es ja auf dem Desktop machen wird die Sharepoint nicht aktualisiert oder? Ich muss aber die Daten ja irgendwie erhalten. Daher muss ich die doch aus der Sharepoint ziehen?

Anzeige
AW: Für jedes Blatt eine Passwortabfrage
07.12.2025 14:42:40
ReginaR
Hi,

der Speicherort kann der Sharepoint bleiben. Wenn die Datei von dort per Doppelklick geöffnet wird, kann man ganz rechts unter "Bearbeiten" auswählen "In der Desktop-App öffnen". Da funktionieren dann die Makos.

Ich habe Dir hier mal ein Beispiel angehängt. Das Passwort ist "Test" und auf dem Blatt Tabelle2 kann der umrahmte Bereich bearbeitet werden. Das Kennwort ist hier direkt im VBA-Code gespeichert, das kann man natürlich noch eleganter machen und es in einem ausgeblendeten Tabellenblatt hinterlegen.

https://www.herber.de/bbs/user/179784.xlsm
VG Regina
Anzeige
AW: Für jedes Blatt eine Passwortabfrage
07.12.2025 17:08:15
Ingo79
Ah top. Das hört sich gut an. Was passiert aber wenn jemand die Datei im Sharepoint öffnet..sieht er dann alles? Kann ich einstellen das er dies nur im Desktop-Modus öffnen kann , ? Schaue mir den VBA nachher an. bin noch unterwegs..
AW: Für jedes Blatt eine Passwortabfrage
07.12.2025 20:08:51
Ingo79
Ich habe kurz mal versucht das zu reproudzieren. Habe einfach ein Tabellenblatt 3 eingefügt und das ganze um einen weiteren Eintrag in VBA ergänzt. Aber das funktioniert, wie zu erwarten war nicht?! Hast du nochmals eine Hilfestellung wie ich das jetzt hinbekomme für mehrere?


Public Sub Tabelle2_einblenden()
Dim str_kennwort As String
str_kennwort = InputBox("Geben Sie das kennwort für Tabelle2 ein!")

If str_kennwort = "eins" Then
ThisWorkbook.Worksheets("Tabelle2").Visible = True
ThisWorkbook.Worksheets("Tabelle2").Activate
If str_kennwort = "zwei" Then
ThisWorkbook.Worksheets("Tabelle3").Visible = True
ThisWorkbook.Worksheets("Tabelle3").Activate
Else
MsgBox "Falsches Kennwort"
End If
End Sub
Anzeige
AW: Für jedes Blatt eine Passwortabfrage
07.12.2025 20:37:14
ReginaR
... nein, die Idee ist, für jedes Blatt eine eigene Schaltfläche mit einem eigenen Passwort einzuführen. Ich habe die Datei mal um ein Tabellenblatt ergänzt, damit das Prinzip klar wird. Kennwort für Tabelle3 ist "Test3".

https://www.herber.de/bbs/user/179786.xlsm

Anzeige
AW: Für jedes Blatt eine Passwortabfrage
08.12.2025 15:22:28
Ingo79
Hallo, soweit komme ich klar. Habe es auch geschafft zu reproduzieren das ich die Eigenschaft des entsprechenden Tabellenblattes auf VISIBLE setzen muss. :)

Wie wäre es mit einem Befehl möglich, dass ein bestimmtes Passwort alle Tabellen sichtbar macht? Sozusagen der Admin?
Und wie könnte ich das ganze VBA dann schützen das keine dann an das VBA kommt?

Wäre es auch möglich, statt eines Buttons, dass beim Start direkt ein Abfrage Fenster sich öffnet das nach einen Passwort verlangt. Das zugehörige Passwort würde dann entsprechend das dazugehörige Blatt öffnen.?
Anzeige
AW: Für jedes Blatt eine Passwortabfrage
08.12.2025 15:30:11
ReginaR
Hi,

alle Blätter mit einem Klick freizuschalten ist über eine Schleife problemlos möglich, kann ich Dir später mal ein Beispiel schreiben, muss jetzt erstmal gleich los.

VBA schützt Du, in dem Du im VBA-Editor das VBAProjekt (im Projektexplorer VBA-Project(DeineDatei) mit rechts anklickst und auf Eigenschaften gehst. Dort findest Du den Reiter Schutz.

Bei Start direkt abzufragen ist möglich. Dazu müsste ja aber klar sein, zu welchem Blatt das Passwort gehört. Möglich wäre hier den Windows-Username abzufragen. Auf einem ausgeblendeten Blatt müsste dann eine Referenztabelle sein, zu welchem User welches Blatt gehört. Da könnte man dann auch die Passworte hinterlegen.

VG Regina
Anzeige
AW: Für jedes Blatt eine Passwortabfrage
08.12.2025 15:51:37
Ingo79
Oh ich weiß nicht wo jetzt meine erste Antwort hin ist. Ja das mit der Benutzerliste auf einem Excel Mappe habe ich tatsächlich bei Youtube gesehen. Das wäre ggf. die Alternative. Was mir jetzt noch fehlt, habe ich gerade gemerkt, wenn ich die Datei schließe, nachdem das Passwort eingegeben wurde bleibt die Ansicht VISIBLE. Der nächste der die Datei öffnet sieht also die Inhalte. Hier müsste man dann ggf. am Ende noch einmal setzen alle wieder auf INVISIBLE zu setzen.

Danke für deine Mühe
Anzeige
AW: Für jedes Blatt eine Passwortabfrage
08.12.2025 17:25:12
ReginaR
Hi,

nächste Ausbaustufe: In der verlinkten Datei gibt es jetzt eine Schaltfläche "Admin", nach Eingabe von "TestAdmin" werden alle Tabellenblätter eingeblendet.

In den ersten Versionen hatte ich schon per Code dafür gesorgt, dass Tabellenblatt "Tabelle2" und "Tabelle3" beim Schließen wieder ausgeblendet werden. Vermutlich hast Du den Code in Deine Datei nicht übernommen. Den Code dafür findest Du, wenn Du im Projektexplorer bei meiner Datei einen Doppelklick auf "DieseArbeitsmappe" machst. Wenn Du Dir den Code für "Alle einblenden" anschaust, bekommst Du das bestimmt auch selbst hin beim Schließen "Alle ausblenden".

https://www.herber.de/bbs/user/179792.xlsm

VG Regina
Anzeige
AW: Für jedes Blatt eine Passwortabfrage
08.12.2025 19:38:38
schauan
Hallöchen,

wenn man beim Schließen mit BeforeClose - nicht auf Speichern drückt, bleiben die Blätter trotz des Codes sichtbar. Ich mache das daher gerne beim BeforeSave
wenn man allerdings nach dem Speichern weiterarbeiten will, müsste man die Blätter wieder einblenden. Das könne man im AfterSave automatisieren.

wenn Du mit den Windows-Usern arbeitest, ist ggf. eine Passwortabfrage unnötig. Da würde dann ggf. auch für alle ein "Start Bearbeitung" - Button reichen ;-)

Im Prinzip
Select Case Environ("username")

Case "User1": Sheets(1).Visible=True
Case "User2": Sheets(2).Visible=True
...
Case "UserAdmin"
Sheets(1).Visible=True
Sheets(2).Visible=True
...
Case Else
MsgBox "User " & Environ("username") & " ist nicht berechtigt!" & vblf & "Bitte an den Admin wenden."
End Select


User1, 2, Admin usw. sind dann natürlich die korrekten usernamen.
Anzeige
AW: Für jedes Blatt eine Passwortabfrage
12.12.2025 10:00:54
Ingo79
Hallo, habe das heute mal eingearbeitet. Das funktioniert top. Eine Frage habe ich. Ich habe jetzt das Event Close gemacht. Das funktioniert auch. Aber ich musste natürlich wie in deinem Beispiel alle Tabellen eintragen. Gibt es da nicht eine Vereinfachung das man sagt, "schließe alle außer Startseite" ?
Bei mir tragen natürlich alle Blätter exakte Namen. Die muss ich das mühsam eingeben.

Eins habe ich noch nicht getestet und probiert , das mit den Windows User was du darunter gepostet hast?! was meintest du damit.



Anzeige
AW: Für jedes Blatt eine Passwortabfrage
12.12.2025 10:26:58
ReginaR
Hi,

Du musst die Schleife nehmen, die hinter "Alle einblenden" steht und in der Schleife noch ergänzen:

if obj_wks.Name > "Startseite then
obj_wks.Visible = false
end if

ZU Windowsuser: Ich habe gemeint, wenn man beim Öffnen der Datei über Environ("Username") den Windows-Benutzernamen abfragt und diesem Benutzer im Code ein Blatt zugewiesen wird, könnte man sich die Schaltfläche sparen, aber den Vorschlag hattest Du ja auch schon hier bekommen:
https://www.herber.de/forum/messages/2021947.html
VG Regina
Anzeige
AW: Für jedes Blatt eine Passwortabfrage
08.12.2025 20:41:53
Ingo79
Sehr cool, ich schaue mir das morgen direkt an. Bestimmt habe ich noch die ein oder andere Frage. kann man nicht einstellen das beim Schließen des Dokumentes vorher alle Fenster / Mappen verschwinden? notfalls auch wenn man autosave erzwingt oder so.

Das mit den Windows Nutzern habe ich nicht ganz verstanden?
Also das mit Sharpoint muss ich tatsälich verwerfen. Habe da heute getestet. Durch die Makros etc ist wie du sagtest keine Bearbeitung im Browser möglich. Das in Desktop bearbeiten führt sicherlich früher oder später dazu, dass nutzer A die Daten von Nutzer B überschreibt. Daher werde ich wohl auf die Dateiablage ausweichen. Dann erhält man wenigstens eine Meldung wenn Nutzer A das Dokument geöffnet hat. Bei Sharepoint gibt es ja leider keinen Hinweis.
Anzeige
AW: Für jedes Blatt eine Passwortabfrage
07.12.2025 20:45:13
schauan
Hallöchen,

1)
Aber das funktioniert, wie zu erwarten war nicht?! Was/Wie/Wo/...
2)
hängt vielleicht mit 1) zusammen - Microsoft hat seine Sicherheitsmechanismen verschärft, siehe z.B.
https://learn.microsoft.com/en-us/answers/questions/1878922/macros-from-xlsm-stored-on-sharepoints-not-working
In einigen Beiträgen berichten User, dass z.B. das mit den Sicherheitseinstellungen nicht klappt. So was kann auch mit Gruppenrichtlinien in Firmen zusammenhängen.
Dann würde ggf. nur, wie ich schon schrieb, Herunterladen übrig bleiben :-( Oder eben, wie ich auch schon schrieb, einzelne Dateien + PQ
3)
eine Alternative hätte ich noch. Beschäftige Dich mal mit der Schutzeinstellung "Benutzer dürfen Bereiche bearbeiten". Damit kannst Du selbiges sogar auf einem Blatt eirichten ... Wie schon geschrieben, wenn es nur um das Bearbeiten geht und keinen "Sichtschutz".
4)
... oder eben Office Script. Ist noch nicht meine Baustelle :-(
siehe
https://learn.microsoft.com/en-us/javascript/api/office-scripts/excelscript/excelscript.worksheetprotection?view=office-scripts

Anzeige
AW: Für jedes Blatt eine Passwortabfrage
07.12.2025 20:57:31
Ingo79
Axo. Das mit dem funktioniert wie zu erwarten nicht bezog sich auf mein eigen erstelle Anpassung des Skriptes.. .
AW: Für jedes Blatt eine Passwortabfrage
07.12.2025 18:07:28
schauan
... wenn die Datei, wie Du schreibst, durch mehrere Benutzer gleichzeitig bearbeitet wird, hast Du bei der vorgeschlagenen Vorgehensweise zum Schluss den Stand von dem User, der die Daten zuletzt wieder hochgeladen hat. Falls es auch der erste war, der die Datei heruntergeladen hat, hast Du nur seinen Stand. Du kannst dann die anderen Bitten. Ihre Stände hochzuladen.. Dann wirst Du aber auch nur irgedeinen Zwischenstand haben.

Wenn es Dir nur um das Überschreiben geht, dann kannst Du auch auf jedem Blatt einen Blattschutz einrichten und entsprechend unterschiedliche Pasworte vergeben.

Wenn Du nicht willst, dass die Anwender sich gegenseitig in die Karten schauen, solltest Du über eine Variante mit einzelnen Dateien pro User und Zusammenfassung z.B. per PQ nachdenken.
Wenn Du in die Dateien auch ab und zu was reinbringen willst, müsstet Ihr Euch vielleicht auf "Admin"-Zeiten verständigen ...
Anzeige
AW: Für jedes Blatt eine Passwortabfrage
07.12.2025 18:21:30
ReginaR
... es ist egal, ob jemand in der Browser- oder in der Desktop-App öffnet. Die Datei wird immer synchronisiert, so dass der User immer den "letzten Stand" hat.

Wenn Du mal nach "Datei von Sharepoint immer in Desktop-App öffnen" googlst, werden Dir verschiedene Varianten angezeigt, wie man dies einstellen kann. Ich vermute, dass es dann davon abhängt, welche Rechte ein User hat, ob diese Einstellungen gesetzt werden können. Eventuell muss das Eure IT machen.
Ich habe allerdings die Erfahrung gemacht, dass User, die Dateien mit Makros nutzen, sich sehr schnell angewöhnen, diese in der Desktop-App zu öffnen, weil sonst "nichts geht". Man kann auch auf dem Sharepoint bei einer Datei die 3 Punkte anklicken und dann unter "Öffnen" direkt in der Desktop-App öffnen.
Anzeige
AW: Für jedes Blatt eine Passwortabfrage
07.12.2025 18:48:47
Ingo79
Ok dann wäre die Bearbeitung im FileService besser. Da kann dann nur einer rein und die anderen sehen das sie gerade geöffnet ist.. Weil es muss sichergestellt sein, dass wenn einer die Datei bearbeitet hat und dann der andere das auch die Daten drin sind. Das VBA funktioniert soweit super. Ich muss mir das jetzt mal testen ob ich es hinbekomme das auf unsere Tabelle mit Namen usw zu übertragen.

Die Alternative mit dem Blattschutz ist zwar ganz gut. Führt aber dazu, dass dann alles auf dem Blatt freigegeben wird. Da sind in einigen Zellen Formeln usw. Die Gefahr das dann wieder einer was in eine Zelle schreibt wo er nicht so ist groß.
Anzeige
AW: Für jedes Blatt eine Passwortabfrage
07.12.2025 18:51:10
ReginaR
... ich hatte den Blattschutz nicht als Alternative, sondern als Ergänzung gedacht. Wer das Kennwort hat, kommt auf das Blatt, kann da aber nur die Zellen bearbeiten, die freigegeben sind. Damit sind dann da auch Formeln etc. geschützt.
AW: Für jedes Blatt eine Passwortabfrage
07.12.2025 19:25:23
Ingo79
Puhh , jetzt reden wir aneinander vorbei oder ich stehe auf dem Schlauch. Ich möchte eigentlich dabei bleiben oder bin gewzungen die Bearbeitung über Sharepoint zu lösen. So dass jeder gleichzeitig oder versetzt dort arbeitet. So wie ich die verstanden habe fällt damit Makro aus. Die Desktop Variante habe ich so verstanden, bearbeitet einer die Datei gerade sieht das keiner. Arbeitet der zweite parallel und der erste speichert seine Datei wird sein Inhalt von dem zweiten überschrieben. Denn da war das Tabellenblatt von A noch nicht befüllt. Ein zeitliche Vorgabe wann arbeitet wer kann ich nicht sicherstellen. Damit entfällt das. Also bleibt nur Sharepoint dort live bearbeiten. Also geht der weg nur über den Blattschutz. Wenn ich doch aber demjenigen das Passwort für den Blattschutz gebe, er muss es eingeben damit nur er auf seinem Tabellenblatt arbeiten kann, kann er doch auch die geschützten Zellen bearbeiten. (Durch aufheben Blattschutz sind die doch nicht mehr geschützt) oder bin ich verwirrt.
Anzeige
AW: Für jedes Blatt eine Passwortabfrage
07.12.2025 19:33:14
ReginaR
... also ich habe eben eine Datei vom Sharepoint im Web geöffnet und die gleiche Datei nochmal über die Desktop-App. Auf beiden Ebenen habe ich die Veränderungen von der anderen Ebene gesehen. Sollte also funktionieren.

Zum Blattschutz: Da hast Du Recht, wenn nur einer auf dem Blatt die freien Zellen bearbeiten können soll, reicht der nicht.
Anzeige
AW: Für jedes Blatt eine Passwortabfrage
07.12.2025 19:51:05
Ingo79
Ich muss das morgen mit dem Sharepoint ausprobieren..wie gesagt stehe jetzt auf der Leitung was du meinst. Lade euch nach deine Datei da mal rein um zu verstehen was du meinst. Muss das ganze dann nur umschreiben das jeder sein eigenes Blatt nur sieht.. also für die ersten 8 Tabellenblätter..

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige