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

xlVeryHidden

xlVeryHidden
20.12.2003 12:43:34
dieter
20.12.2003

Hi, ich suche ein VBA-Makro, dass mir folgende Möglichkeit gibt:
In einer bestehenden Datei "SicKopie.xls", die als Blatt ausgeblendet
werden soll mit "xlVeryyHidden", soll kein Zugriff für unbestimmte User
möglich sein. Ich habe von "xlVerryHidden" gehört, weiß aber nicht mehr
wie die VBA-Anweisung geht.

In der Datei "SicKopie.xls" werden aber permanent Zellenänderungen mittels "change-Ereignis", also Zellennotizen dokumentiert. Dies muss auch weiterhin so bleiben. Im Grunde soll nur eine bestimmte Person die Datei "SicKopie.xls" einblenden und ansehen können. Dieser User sollte aber nicht unbedingt über nur über die Entwicklungsumgebung diese Datei wider ansehen können.

Freue mich über jeden Hinweis.

Gruß dieter

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

Betreff
Datum
Anwender
Anzeige
AW: xlVeryHidden
20.12.2003 15:22:08
Reinhard
Hi Dieter,
ein Ansatz, diesen (ungetesteten) Code in das jeweilige Arbeitsblatt stellen:

Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
If Application.UserName = "NurDieserUser" Then
ActiveSheet.Visible = False ' oder True, je nach Wunsch
Else
ActiveSheet.Visible = xlVeryHidden
End If
Application.ScreenUpdating = True
End Sub

Falls die Change-Eregnisse nicht mehr eingetragen werden können, das WorksheetCahnge modul abändern:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
ActiveSheet.Visible = True
'hier der "change"-code
ActiveSheet.Visible = xlVeryHidden
Application.ScreenUpdating = True
End Sub

Gruß
Reinhard
Anzeige
AW: xlVeryHidden
20.12.2003 16:37:32
dieter
20.12.2003

Hallo Reinhard,
Dein VBA-Makro klappt hervorragend. Die Schange-Ereignisse werden auch weiterhin eingetragen. Nur mit einer Sache komm ich noch nicht klar. Die Makrozeile:
"If Application.UserName = "NurDieserUser" Then". "NurdieserUser" bezieht sich der User
auf das gesamte PC-System oder auf Excel? Kann in den Anführungszeichen irgendeinen Namen einsetzten der evtl. wie eine Passwortabfrage funktioniert?

Evtl. hast Du jan noch einen Tipp für mich. Auf jeden Fall schon Danke für schnelle und funktionierende Hilfe

Gruß dieter
AW: xlVeryHidden
20.12.2003 18:45:35
Reinhard
Hallo Dieter,
das ist der Benutzername in/für Excel, so wie er unter Extras/Optioen steht.
Ich kann sowas nicht testen, aber probier du doch mal environ aus, soll den Windowsbenutzernamen oder Netzwerkbenutzernamen zurücckgeben.
Also
If Environ("USERNAME") = "Harald Schmidt" Then
anstatt
If Application.UserName = "Harald Schmidt" Then
Gruß
Reinhard
Anzeige
AW: xlVeryHidden
20.12.2003 19:31:30
dieter
20.12.003

Hallo Reinhard,
freut mich, dass Du am Ball bleibst. Es funktioniert mit dem Usernamen. Jetzt wird wohl dei datei unter "Format/Blatt/einblenden" diese Datei nicht mehr aufgelistet.
Es sollte wohl die Möglichkeit geben, dass bestimmte Personen diese Datei einsehen können. Dies geht dann natürlich nur üer die Entwicklungsumgebung. Aber nicht jeder User kann damit richtig umgehen. Gibt's da noch eine Möglichkeit?

Jetzt sieht mein Makro so aus:

Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
If Environ("USERNAME") = "mx" Then
'If Application.UserName = "mx" Then
ActiveSheet.Visible = True 'False oder True, je nach Wunsch
Else
ActiveSheet.Visible = xlVeryHidden
End If
Application.ScreenUpdating = True
End Sub



Ich hoffe nur, ich strapaziere nicht Deine Hilfe.

Gruß dieter
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige