Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
628to632
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
628to632
628to632
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Arbeitsbl. gg. Zugriff best. Benutzer schützen

Arbeitsbl. gg. Zugriff best. Benutzer schützen
24.06.2005 13:15:59
Florian
Hallo zusammen,
ich habe folgendes Problem (und finde mit meinen mehr als rudimentären VBA-Kenntnissen leider keine Lösung dafür):
Ich habe eine Excel-Mappe, in der einer Gruppe von Personen jeweils ein Arbeitsblatt zugewiesen ist (also Arbeitsblätter Müller, Meier, Huber, etc...).
Ich muss nun verhindern, dass die jeweiligen Nutzer die Arbeitsblätter der anderen Nutzer einsehen können oder zumindest, dass die bei anderen Nutzern eingetragenen Daten sichtbar sind.
Ich habe schon rausgefunden, dass VBA den Netzwerknamen des Nutzer erkennt und ihn z. B. in einer MsgBox ausgeben kann. Auch das Sperren der anderen Blätter gegen Eingaben ist kein Problem.
Um ein Makro zu schreiben, das einen Nutzer nur auf ein bestimmtes Tabellenblatt lässt oder alle anderen Blätter ausblendet, fehlt mir aber leider -wie schon gesagt- das Knowhow.
Bin für jeden Vorschlag dankbar;
vielen Dank schon mal im Voraus
Florian

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsbl. gg. Zugriff best. Benutzer schützen
24.06.2005 13:30:04
Dr.
Hi,
vielleicht so (ungetestet). "User" steht stellvertretend für den ausgelesenen Netzwerknamen.
Dim sh as Worksheet
For Each sh in ActiveWorkbook
sh.Visible = xlveryhidden
sh(User).Visible = True
AW: Arbeitsbl. gg. Zugriff best. Benutzer schützen
24.06.2005 13:55:56
Florian
Hallo Dr.,
danke erstmal für den Tip, ich hab nur leider folgende Probleme damit:
1. Wenn ich Deinen Vorschlag so übernehme, mault er, dass er ein FOR ohne NEXT hätte; ich hab das NEXT jetzt einfach mal nach dem xlveryhidden in eine neue Zeile geschrieben, weil er da ja eigentlich das nächste Blatt prüfen muss. Damit ist er offensichtlich zufrieden, das führt aber zu...
2. Wenn ich das Skript debugge, wirft er mir bei (bzw. nach) der Zeile "For Each sh in ActiveWorkbook" die Fehlermeldung "Laufzeitfehler 438 - Objekt unterstütz diese Eigenschaft oder Methode nicht" aus. (Ich kann jetzt leider nicht mal sagen, ob er dann mit der angebebenen oder mit der nächsten Zeile Probleme hat).
3. Der Nutzername wird offensichtlich im Format Domain.DE\Nutzername ausgegeben. Wenn ich Dein Skript richtig verstanden habe, müsste ich dann das Arbeitsblatt exakt so benennen. Excel lässt aber dummerweise in den Blattnamen keinen Backslash zu.
Trotz allem schon mal DANKE für den Vorschlag,
vielleicht fällt Dir ja noch irgendwas zu dem Thema ein...
Bis dann
Florian
Anzeige
AW: Arbeitsbl. gg. Zugriff best. Benutzer schützen
24.06.2005 14:12:40
Dr.
So, jetzt aber getestet:

Sub test()
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Sheets
If sh.Name = Application.UserName Then
ActiveSheet.Visible = True
Else: sh.Visible = xlSheetVeryHidden
End If
Next
End Sub

Der Code läuft sauber durch, wenn die Blattnamen den Usernamen entsprechen.
AW: Arbeitsbl. gg. Zugriff best. Benutzer schützen
24.06.2005 14:20:23
Horst
Hi,
hoffentlich bist du kein Mediziner.
mfg Horst
AW: Arbeitsbl. gg. Zugriff best. Benutzer schützen
24.06.2005 14:23:27
Dr.
Dann leg mal los, Du Fuchs. Ich lerne ja gerne dazu.
AW: Arbeitsbl. gg. Zugriff best. Benutzer schützen
24.06.2005 14:28:40
Horst
Hi,
wenn du schon auf Worksheets eingrenzt, dann muss es auch heißen
For each sh in activeworkbook.worksheets
Aktiv ist immer nur ein Blatt, deshalb kann das nicht funktionieren.
mfg Horst
Anzeige
AW: Arbeitsbl. gg. Zugriff best. Benutzer schützen
24.06.2005 14:33:41
Dr.
Sischer dat.
sh.Visible = True
muss es natürlich heissen.
AW: Arbeitsbl. gg. Zugriff best. Benutzer schützen
24.06.2005 15:09:30
Florian
Servus,
@Horst: Bei mir hat´s -ehrlich gesagt- schon vor der kleinen Änderung funktioniert.
@Dr.: Ein ganz dickes DANKE!!! für die Lösung. Ich bau das jetzt für meine Zwecke noch ein bisserl aus und hab dann ein richtig feines Ergebnis. Nur eine Frage: Wenn Du "VBA nein" bist, wie schauen denn dann VBA-Profis aus ? ;-)
@jan: Falls ich Deine Frage richtig verstehe: Schau einfach mal in der Nutzer-Verwaltung (ggf. auf dem Server), wie die Nutzer bezeichnet sind. Wenn Dir das nicht hilft, melde Dich als der jeweilige Nutzer an und lass folgendes laufen:
msgbox "" & application.username
Excel öffnet dann ein Meldungsfenster mit demjenigen Namen, den Du als Arbeitsblattnamen vergeben musst.
Anzeige
AW: Arbeitsbl. gg. Zugriff best. Benutzer schützen
24.06.2005 14:08:36
Jan
Hi,
wie lassen sich die Blätter eindeutig dem jeweils berechtigtem user zuordnen?
mfg jan

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige