HERBERS Excel-Forum - das Archiv
nur eine Tabelle sichtbar lassen
Ralf

Hallo Excel - Experten,
ich habe einen ganz tollen Code, der es ermöglicht, daß wenn
andere auf meine Datei zugreifen, nur eine Tabelle sehen: Pivots_2
Das funktionierte in einer kleinen Testdatei auch ganz toll ( mit 5 Tabellen)
Nun wollte ich es auf eine größere Datei übertragen ( 23 Tabellen ), und ...
wenn ein anderer Username sie öffnet, sieht er immer alle Tabellen :-(
Woran kann das liegen ?


Private Sub Workbook_Open()
Dim i As Integer
If Application.UserName <> "Hollmann" Then
For i = 1 To Worksheets.Count
If Worksheets(i).Name <> "Pivots_2" Then
Worksheets(i).Visible = 2
End If
Next
Else
For i = 1 To Worksheets.Count
Worksheets(i).Visible = 1
Next
End If
End Sub


Viele Grüße
Ralf

AW: nur eine Tabelle sichtbar lassen
ede

Hallo Ralf,
hier mal ein verkürzter Code, ohne Ihn getestet zu haben:
Dim i As Integer
For i = 1 To Worksheets.Count
If Application.UserName = "Hollmann" Then
Worksheets(i).Visible = True
Else
Worksheets(i).Visible = Worksheets(i).Name = "Pivots_2"
End If
Next
funkts?
gruss

AW: nur eine Tabelle sichtbar lassen
Ralf

Hallo Ede,
ging leider nicht, aber trotzdem
vielen Dank für Deine Mühe
Gruß
Ralf

AW: nur eine Tabelle sichtbar lassen
Rudi

Hallo,
1. Application.Username ist ungeeignet, da jederzeit änderbar.
2. Was ist, wenn Makros deaktiviert sind? Du musst beim Schließen des WB auf jeden Fall immer alle sheets außer Pivot ausblenden und speichern.


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim wks As Worksheet
For Each wks In Worksheets
If wks.Name <> "Pivots_2" Then wks.Visible = xlSheetVeryHidden
End If
ThisWorkbook.Save
End Sub



Private Sub Workbook_Open()
Dim wks As Worksheet
For Each wks In Worksheets
If LCase(Environ("username")) = "hollmann" Then
wks.Visible = xlSheetVisible
ElseIf wks.Name <> "Pivots_2" Then
wks.Visible = xlSheetVeryHidden
End If
Next
End Sub


Gruß
Rudi

Danke Rudi klappt super :-)
Ralf

Hallo Rudi,
es funktioniert :-) Super !!!
Viele :-) Grüße
Ralf

Rudi : noch eine kurze Frage :-)
Ralf

Hallo Rudi,
ich wollte die Datei gerade schließen, da sagte mir
Excel : Fehler beim Kompilieren End If ohne If Block ?
Hast Du eine Idee, was das bedeutet ?
Viele Grüße
Ralf

AW: Rudi : noch eine kurze Frage :-)
Rudi

Hallo,


Hast Du eine Idee, was das bedeutet ?


dass ich schlampig bin!


Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim wks As Worksheet
For Each wks In Worksheets
If wks.Name <> "Pivots_2" Then wks.Visible = xlSheetVeryHidden
Next wks
ThisWorkbook.Save
End Sub


Gruß
Rudi

Danke Rudi jetzt klappts aber :-)
Ralf

.........vielen großen Dank und
viele :-) Grüße
Ralf