wie kann ich per VBA verhindern, dass in einer bestehenden Arbeitsmappe ein weiteres Tabellenblatt eingefügt werden kann, auch bei deaktiviertem Blattschutz.
Gruß Karli
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
MsgBox "Sie haben keine Berechtigung" & vbLf & _
"neue Tabellenblätter anzulegen!", vbOKOnly + vbExclamation, "Hinweis"
Sh.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Private Sub Workbook_Activate()
Application.CommandBars("Worksheet Menu Bar").Controls("Einfügen").Controls("Tabellenblatt").Enabled = False
End Sub
Private Sub Workbook_Deactivate()
Application.CommandBars("Worksheet Menu Bar").Controls("Einfügen").Controls("Tabellenblatt").Enabled = True
End Sub
Private Sub Workbook_Open()
Application.CommandBars("Worksheet Menu Bar").Controls("Einfügen").Controls("Tabellenblatt").Enabled = False
Application.CommandBars("Ply").Controls("Einfügen...").Enabled = False
Application.OnKey "+{F11}", ""
End Sub
Private Sub Workbook_Activate()
Application.CommandBars("Worksheet Menu Bar").Controls("Einfügen").Controls("Tabellenblatt").Enabled = False
Application.CommandBars("Ply").Controls("Einfügen...").Enabled = False
Application.OnKey "+{F11}", ""
End Sub
Private Sub Workbook_Deactivate()
Application.CommandBars("Worksheet Menu Bar").Controls("Einfügen").Controls("Tabellenblatt").Enabled = True
Application.CommandBars("Ply").Controls("Einfügen...").Enabled = True
Application.OnKey "+{F11}"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Worksheet Menu Bar").Controls("Einfügen").Controls("Tabellenblatt").Enabled = True
Application.CommandBars("Ply").Controls("Einfügen...").Enabled = True
Application.OnKey "+{F11}"
End Sub
Um zu verhindern, dass in Excel ein neues Tabellenblatt eingefügt wird, kannst du VBA verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:
VBA-Editor öffnen: Drücke ALT + F11
, um den VBA-Editor zu öffnen.
Diese Arbeitsmappe auswählen: Doppelklicke auf "DieseArbeitsmappe" im Projektfenster.
Code einfügen: Füge den folgenden Code in das Codefenster ein:
Private Sub Workbook_NewSheet(ByVal Sh As Object)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
MsgBox "Sie haben keine Berechtigung" & vbLf & _
"neue Tabellenblätter anzulegen!", vbOKOnly + vbExclamation, "Hinweis"
Sh.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Speichern und schließen: Speichere die Änderungen und schließe den VBA-Editor.
Jetzt kannst du keine neuen Tabellenblätter mehr einfügen, auch wenn der Blattschutz deaktiviert ist.
Problem: Excel kann kein neues Tabellenblatt einfügen.
Problem: Excel neues Blatt einfügen geht nicht, obwohl der Code aktiviert ist.
Wenn du die Menüoption für das Einfügen von Tabellenblättern deaktivieren möchtest, kannst du folgendes verwenden:
Code für Menü deaktivieren: Füge diesen Code in "DieseArbeitsmappe" ein:
Private Sub Workbook_Activate()
Application.CommandBars("Worksheet Menu Bar").Controls("Einfügen").Controls("Tabellenblatt").Enabled = False
End Sub
Private Sub Workbook_Deactivate()
Application.CommandBars("Worksheet Menu Bar").Controls("Einfügen").Controls("Tabellenblatt").Enabled = True
End Sub
Dies deaktiviert den Menüpunkt zum Einfügen eines neuen Tabellenblatts.
Hier sind einige Beispiele, wie du die Funktionalität anpassen kannst:
Deaktivieren aller Methoden: Wenn du alle Möglichkeiten zum Einfügen eines neuen Blattes verhindern möchtest, kannst du diesen Code verwenden:
Private Sub Workbook_Open()
Application.CommandBars("Worksheet Menu Bar").Controls("Einfügen").Controls("Tabellenblatt").Enabled = False
Application.OnKey "+{F11}", ""
End Sub
Wiederherstellen der Einstellungen: Vergiss nicht, die Einstellungen beim Schließen der Arbeitsmappe zurückzusetzen:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Worksheet Menu Bar").Controls("Einfügen").Controls("Tabellenblatt").Enabled = True
Application.OnKey "+{F11}"
End Sub
1. Warum kann ich kein neues Blatt einfügen? Der Grund könnte sein, dass ein VBA-Code aktiv ist, der das Einfügen neuer Tabellenblätter blockiert.
2. Was kann ich tun, wenn der Code nicht funktioniert? Überprüfe, ob der Code korrekt in "DieseArbeitsmappe" eingefügt wurde und dass keine Syntaxfehler vorliegen.
3. Kann ich die Einstellungen zurücksetzen? Ja, du kannst die Einstellungen mit dem entsprechenden VBA-Code beim Schließen der Arbeitsmappe zurücksetzen.
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