ich möchte verhindern, daß ein Datenblatt mit einem bestimmten Namen (z.B. "Randbedingungen") weder gelöscht noch umbenannt werden kann. Gibt's da eine Möglichkeit?
Danke Gruß Markus
Öffne die Excel-Datei, in der du das Datenblatt schützen möchtest.
Öffne den VBA-Editor:
ALT + F11
, um den Visual Basic for Applications (VBA) Editor zu öffnen.Wähle das entsprechende Workbook aus dem Projekt-Explorer auf der linken Seite aus.
Füge den folgenden Code in das Modul für das Workbook ein:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "Randbedingungen" Then
Application.CommandBars("Ply").Enabled = False
Application.CommandBars("Worksheet Menu Bar").Controls("Bearbeiten").Controls("Blatt löschen").Enabled = False
End If
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If Sh.Name = "Randbedingungen" Then
Application.CommandBars("Ply").Enabled = True
Application.CommandBars("Worksheet Menu Bar").Controls("Bearbeiten").Controls("Blatt löschen").Enabled = True
End If
End Sub
Schließe den VBA-Editor und teste die Einstellungen, indem du das entsprechende Datenblatt aktivierst.
Der Code funktioniert nicht:
Das Datenblatt kann weiterhin gelöscht werden:
Eine andere Möglichkeit, um das Löschen eines Datenblattes in Excel zu erschweren, ist das Setzen des Sichtbarkeitsstatus auf xlSheetVeryHidden
. Dies verhindert, dass das Blatt im normalen Excel-Bereich angezeigt wird. Allerdings kannst du über VBA weiterhin darauf zugreifen. Verwende dazu den folgenden Code:
ThisWorkbook.Sheets("Randbedingungen").Visible = xlSheetVeryHidden
Wenn du das Löschen von Datenblättern in einer komplexen Arbeitsmappe (Workbook) verhindern möchtest, kannst du die oben genannten Methoden kombinieren. Setze das Blatt "Randbedingungen" auf xlSheetVeryHidden
und nutze die VBA-Events, um das Kontextmenü beim Aktivieren des Blattes zu deaktivieren.
1. Wie kann ich ein Datenblatt in Excel wieder sichtbar machen?
Um ein Datenblatt sichtbar zu machen, kannst du den folgenden Code verwenden:
ThisWorkbook.Sheets("Randbedingungen").Visible = xlSheetVisible
2. Welche Excel-Version benötige ich für die Verwendung von VBA?
VBA ist in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2010, 2013, 2016, 2019 und Microsoft 365.
3. Kann ich das Löschen nur für bestimmte Benutzer sperren?
Mit den oben genannten Methoden kannst du das Löschen eines Datenblatts erschweren, jedoch ist es nicht möglich, einen perfekten Schutz gegen erfahrene Benutzer zu gewährleisten.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen