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

Arbeitsblätter nur für bestimmte Benutzer sichtbar

Arbeitsblätter nur für bestimmte Benutzer sichtbar
15.01.2003 01:36:55
michelman
Hallo liebe Leute im Excel-Forum,

ist es eigentlich möglich bestimmte Arbeitsblätter aus einer Excel-Mappe nur für bestimmte Benutzer(hier ist der Benutzer in einem NT/2000 Netzwerk gemeint)anzuzeigen?

Beispiel:

Der Benutzer mit der Systemanmeldung "ernst.einfach" soll in der Excel-Mappe "test.xls" nur die Arbeitsblätter "Tabelle1", "Tabelle4" und "Tabelle7" sehen dürfen(Verknüpfungen aus anderen nicht sichtbaren Tabellenblättern dieser Mappe müssen trotzdem funktionieren, sollen also nur ausgeblendet sein, aber von diesem Benutzer auch nicht sichtbar gemacht werden können).
Der Benutzer mit der Systemanmeldung "hans.wurst" soll hingegen nur die Arbeitsblätter "Tabelle2", "Tabelle3", "Tabelle5" und "Tabelle6" sehen können.

Geht so etwas ???

Wenn ja wie ???

Gruß michel

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Arbeitsblätter nur für bestimmte Benutzer sichtbar
15.01.2003 05:37:15
andre
hallo michael,
klar geht das. entweder du programmierst eine anmeldung in die mappe oder nimmst den username des angemeldeten users.
prinzipiell etwa so:
code in DieseArbeitsmappe
private sub workbook_open()

For Each blätter In Sheets()

if application.username="hans.wurst" then
if blätter.name="Tabelle2" then blätter.visible=true:goto weiter
'... für jedes blatt von hans
end if

'hier genauso für ernst
'...
blätter.Visible = False

weiter:
Next
end sub

gruss andre

Re: Arbeitsblätter nur für bestimmte Benutzer sichtbar
15.01.2003 09:27:36
Hajo_ZI
Hallo michel

mit der vorgeschlagenen Lösung von Andre mit application.username liest Du nur den Namen aus der in Excel eingeschrieben ist. Den kann ja jeder ändern. Falls Du den Anmeldenamen im Netzwerk haben willst.

x2 = Environ("USERNAME") ' unter Windows NT

oder andere Betriebsysteme
Dim BName As String
Declare Function GetUserName Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, _
nSize As Long) As Long
Sub Benutzerfilter()
Dim Buffer As String * 100
Dim BuffLen As Long
BuffLen = 100
GetUserName Buffer, BuffLen
BName = Left(Buffer, BuffLen - 1)
If BName <> "Jürgen" Then Exit Sub
'--------------------------------------
' Andere Ausführungen, wenn Name stimmt
'--------------------------------------
End Sub
Von Jürgen Wenzel


Gruß Hajo

Anzeige
Danke, Danke, Danke !!!
16.01.2003 01:00:36
michelman
Vielen Dank andre und HaJo,

hat mit euren Tips bestens geklappt!

Gruß michel

19 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige