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

Forumthread: unsichtbare Tabellenblätter

unsichtbare Tabellenblätter
03.01.2013 14:33:25
Mirko
Hallo zusammen,
erstnmal ein gesundes neues Jahr allen :)
1. wie kann ich dies hinbekommen das keiner in den VBA Codes ändern kann?
2. und wie kann man den Bildlauf sperren oder mit Passwort schützen das keiner die Tabellenblätter sieht? (ausblenden kann ich nicht weil ich bei Klick auf diese Tabellenblätter komme)
Vielen Dank
Gruss Mirko

Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
In Excel ist leider nichts wirklich SICHER
03.01.2013 14:46:29
NoNet
Hallo Mirko,
zunächst einmal wünsche ich auch ein frohes neues Jahr ;-)
"Leider" ist in Excel nichts wirklich "sicher" - d.h. es kann fast alles "geknackt" werden.
Einen einfachen VBA-Schutz gibt es im VB-Editor unter "Extras - Eigenschaften von VB-Projekt - Schutz - Projekt für die Anzeige sperren". Gib hier ein Kennwort ein und speichere die Datei. Nach dem Schließen und erneuten Öffnen kann der Code nur nach Eingabe des PW eingesehen werden. Wenn das Projekt einmal geöffnet wurde, bleibt es solange sichtbar, bis die Datei geschlossen und erneut geöffnet wurde.
Das mit dem "Bildlauf sperren" habe ich nicht verstanden : Meinst Du die Option "Horizontale/ Vertikale Bildlaufleiste anzeigen" in den EXCEL-Optionen ?
Was meinst Du mit "keiner die Tabellenblätter sieht" ? - Möchtes Du die Blätter ausblenden ? Das funktioniert im Eigenschaften-Fenster des VB-Editors - Eigenschaft "Visible" : "0 - xlSheetHidden" bedeutet ausblenden, "2 - xlShetVeryHidden" so ausblenden, dass es nur noch im VB-Editor wieder eingebelndet werden kann und nicht in der Liste der ausgeblendeten Blätter angezeigt wird !
Gruß, NoNet

Anzeige
AW: In Excel ist leider nichts wirklich SICHER
03.01.2013 14:59:32
Mirko
Hallo NoNet,
danke für die Antwort - das erste habe ich gefunden und hinbekommen.
das zweite mit dem ausblenden der Tabellenblätter scheint nicht so einfach zu sein - wenn ich die Blätter so ausblende komme ich von "Tabelle 1" nicht mehr auf "Tabelle 2" per Klick.
Deswegen dachte ich ich schiebe den Bildlauf ganz nach links damit die Tabellenblätter verdeckt sind und sperre dies oder so ähnlich.... Aber die Umsetzung sieht bischen anders aus.
Gruss Mirko

Anzeige
Blattregister-Navigation+Blatt per VBE ausblenden
03.01.2013 15:26:08
NoNet
Hallo Mirko,
die "Idee", den Rollbalken soweit zu vergrössern, dass nur noch einige Blätter in der Blattregister-Steuerung unten sichtbar sind ist - mit Verlaub - eine ziemlich unprofessionelle Idee ;-)
Du kannst jedes (sichtbare) Blatt z.B. auch über einen Rechtsklick auf die Navigationspfeile erreichen :
Userbild
Blende die Blätter wie zuerst beschrieben über den VB-Editor aus und schütze das VB-Projekt dann, das ist halbwegs sicher :
Userbild
Gruß, NoNet

Anzeige
AW: Blattregister-Navigation+Blatt per VBE ausblenden
03.01.2013 20:27:44
Mirko
Hallo NoNet,
danke für deine Hilfe, aber wenn ich die so mache (habe ich probiert) kann ich dieses Tabellenblatt nicht mehr erreichen -- habe sowas wie eine Startseite mit vielen CommandButton und habe dort überall hinterlegt (sheets.("Tabbelle1").select) damit ich auf die anderen Tabellenblätter komme und natürlich auf jedem Tabellenblatt einen CommanButton mit (sheets.("Startseite").select -- diese kann ich dann nicht mehr erreichen (Debuggen)
Daher dachte ich lieber unprofessionell als gar nicht :)
Aber vielleicht hast du ja noch eine andere Idee?
Viele Grüsse Mirko

Anzeige
.select vermeiden
09.01.2013 11:25:06
Klaus
Hallo Mirko,
was macht der Button denn auf den Tabellenblättern (bitte Code posten)?
Warscheinlich kann auf das .select einfach verzichtet werden, 99% der VBA Kommandos funktionieren auch ohne select auf ein ausgeblendetes Blatt.
Grüße,
Klaus M.vdT.

AW: In Excel ist leider nichts wirklich SICHER
03.01.2013 15:43:19
Rudi
Hallo,
nicht sicher, aber eine Möglichkeit:
In DieseArbeitsmappe
Private Sub Workbook_Open()
LockSheets
End Sub

In ein Modul
Sub LockSheets()
Dim wks As Worksheet
Application.ScreenUpdating = False
For Each wks In Worksheets
wks.Activate
With ActiveWindow
.ScrollColumn = 1
.ScrollRow = 1
wks.ScrollArea = .VisibleRange.Address
End With
Next
Sheets(1).Activate
End Sub
Sub UnLockSheets()
Dim wks As Worksheet
If Environ("Username") = "Mirko" Then 'Anmeldename, anpassen
For Each wks In Worksheets
wks.ScrollArea = ""
Next
End If
End Sub

Gruß
Rudi

Anzeige
AW: In Excel ist leider nichts wirklich SICHER
03.01.2013 20:29:38
Mirko
Hallo Rudi Maintaire,
vielen Dank für deine Hilfe,
werde es probieren und schreibe ob es funzt für meine Zwecke.
Vielen Dank
Gruss Mirko

AW: In Excel ist leider nichts wirklich SICHER
04.01.2013 09:03:10
Mirko
Hallo,
super dies funktioniert -- funktioniert dies auch für mehrere Tabellenblätter?
muss man das irgendwie mit "or" fortführen?
DANKE

Anzeige
AW: In Excel ist leider nichts wirklich SICHER
04.01.2013 09:17:09
Rudi
Hallo,
funktioniert dies auch für mehrere Tabellenblätter?
wirkt doch auf alle Blätter der Mappe
muss man das irgendwie mit "or" fortführen?
Was?
Gruß
Rudi

AW: In Excel ist leider nichts wirklich SICHER
04.01.2013 11:05:29
Mirko
Hallo,
ich habe folgenden Code bereits in der Arbeitsmappe drin, daher meckert Excel über nochmal
"Workbook open"

Private Sub Workbook_Open()
Tabelle2.Cells(2, 1).Value = Environ("username")
End Sub
Viele Grüsse Mirko

Anzeige
Workbook_open()
04.01.2013 11:13:11
Rudi
Hallo,
dann bau doch meinen Coden einfach in deinen ein.
Gruß
Rudi

AW: Workbook_open()
04.01.2013 11:20:48
Mirko
Hallo Rudi,
ich muss aber trotzdem mal aber sagen:
wenn die Blätter ausgeblendet sind - kann ich sie per Klick auf eínen CommandButton der auf dieses Tabellenblatt wechselt -- nicht mehr erreichen -- dann scheint dies so nicht zu funktionieren oder gibt es eine Möglichkeit?
Gruss Mirko

Anzeige
AW: In Excel ist leider nichts wirklich SICHER
04.01.2013 09:15:01
Mirko
Hallo,
super dies funktioniert -- funktioniert dies auch für mehrere Tabellenblätter?
muss man das irgendwie mit "or" fortführen?
DANKE
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Unsichtbare Tabellenblätter in Excel verwalten


Schritt-für-Schritt-Anleitung

  1. Tabellenblatt ausblenden:

    • Öffne den Visual Basic for Applications (VBA)-Editor mit ALT + F11.
    • Wähle das Tabellenblatt, das Du ausblenden möchtest, im Projektfenster.
    • Gehe zu den Eigenschaften (F4) und stelle die Visible-Eigenschaft auf xlSheetVeryHidden ein.
  2. Tabellenblatt einblenden:

    • Um versteckte Blätter anzuzeigen, gehe wieder in den VBA-Editor.
    • Ändere die Visible-Eigenschaft zurück auf xlSheetVisible.
  3. Blattschutz:

    • Um zu verhindern, dass andere den VBA-Code ändern, gehe zu Extras > Eigenschaften von VB-Projekt und setze ein Kennwort.
  4. Bildlauf sperren:

    • Um zu verhindern, dass Benutzer auf ausgeblendete Blätter zugreifen, kannst Du den Bildlaufbereich anpassen:

      Private Sub Workbook_Open()
       LockSheets
      End Sub
      
      Sub LockSheets()
       Dim wks As Worksheet
       For Each wks In Worksheets
           wks.ScrollArea = "A1:A1"
       Next
      End Sub

Häufige Fehler und Lösungen

  • Fehler: Blätter sind nicht erreichbar:

    • Wenn Du ein Blatt mit xlSheetVeryHidden ausblendest, kannst Du es nur im VBA-Editor einblenden. Stelle sicher, dass Du eine Möglichkeit hast, es wieder sichtbar zu machen.
  • Fehler: Workbook_Open-Konflikte:

    • Wenn es mehrere Workbook_Open-Sub gibt, kombiniere sie in einer einzigen Routine.

Alternative Methoden

  • Excel VBA verwenden:

    • Du kannst den folgenden Code nutzen, um alle Blätter außer einem bestimmten Blatt auszublenden:
      Sub HideAllSheetsExceptOne()
      Dim ws As Worksheet
      For Each ws In ThisWorkbook.Worksheets
          If ws.Name <> "DeinBlattname" Then
              ws.Visible = xlSheetVeryHidden
          End If
      Next ws
      End Sub
  • Über die Excel-Oberfläche:

    • Um alle Blätter anzuzeigen, gehe zu Rechtsklick auf die Blattregister und wähle „Einblenden“.

Praktische Beispiele

  • Blätter für bestimmte Benutzer sichtbar machen:

    Sub UnHideForSpecificUser()
      If Environ("Username") = "DeinBenutzername" Then
          Dim ws As Worksheet
          For Each ws In ThisWorkbook.Worksheets
              ws.Visible = xlSheetVisible
          Next ws
      End If
    End Sub
  • Drucktitel für alle Blätter einstellen:

    • Gehe zu Seitenlayout > Drucktitel und wähle die Zeilen/Spalten für alle Blätter aus.

Tipps für Profis

  • Nutze die ScrollArea-Eigenschaft, um Benutzer davon abzuhalten, andere Bereiche zu sehen.
  • Teste Deine VBA-Skripte regelmäßig, um sicherzustellen, dass sie wie gewünscht funktionieren.
  • Halte Deine Arbeitsmappe gut organisiert, um die Übersichtlichkeit zu wahren.

FAQ: Häufige Fragen

1. Wie kann ich alle Blätter in Excel einblenden?
Du kannst alle Blätter einblenden, indem Du im VBA-Editor die Visible-Eigenschaft für alle Blätter auf xlSheetVisible setzt.

2. Ist es sicher, Blätter mit einem Passwort zu schützen?
Obwohl Du Blätter mit einem Passwort schützen kannst, ist dieser Schutz nicht absolut sicher. Es gibt Methoden, um Passwörter zu umgehen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige