Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabellenblatt einfügen verhindern

Forumthread: Tabellenblatt einfügen verhindern

Tabellenblatt einfügen verhindern
21.11.2003 19:26:40
KarliH
Hallo VBA-Spezialisten,

wie kann ich per VBA verhindern, dass in einer bestehenden Arbeitsmappe ein weiteres Tabellenblatt eingefügt werden kann, auch bei deaktiviertem Blattschutz.

Gruß Karli
Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt einfügen verhindern
21.11.2003 19:32:49
ChrisL
Hi Karli

Arbeitsmappen-Schutz.

Ansonsten sehe ich keine Möglichkeit.

Gruss
Chris
AW: Tabellenblatt einfügen verhindern
21.11.2003 19:34:16
Josef Ehrensberger
Hallo Karli,

schreib diesen Code in "DieseArbeitsmappe".


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


Gruß Sepp
Anzeige
AW: Tabellenblatt einfügen verhindern
21.11.2003 19:42:05
ChrisL
Hi Sepp

Ist mir gar noch nie aufgefallen, dass es auch ein Workbook_NewSheet Ereignis gibt. Man lernt nie aus.

Eine andere Idee, die mir eben noch gekommen ist, wäre den Menü-Punkt zu deaktivieren, allerdings gibts dann vermutlich auch noch eine Tastenkombination, die man ebenfalls noch deaktivieren müsste. Insofern ist deine Variante einiges eleganter.

Gruss
Chris
Anzeige
AW: Tabellenblatt einfügen verhindern
21.11.2003 20:03:09
KarliH
Hallo Sepp,

danke für die Lösung.

@Chris
du machst mich neugierig, wie deaktiviert man denn nun diesen Menüpunkt, ohne ihn bei anderen Arbeitsmappen zu vermissen?
Wäre schön, wenn ich auch diese Möglichkeit noch probieren könnte.

Gruß Karli
AW: Tabellenblatt einfügen verhindern
21.11.2003 20:16:05
ChrisL
Hi Karli


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


Gruss
Chris
Anzeige
AW: Tabellenblatt einfügen verhindern
21.11.2003 21:31:35
KarliH
Hallo Chris,

danke auch für diesen Tipp, werde morgen mal damit testen.

Auch Thomas danke ich für die Reaktion auf meine Frage

Gruß Karli
danke fuer die rueckmeldung ot.
21.11.2003 21:51:03
th.heinrich
.
AW: Tabellenblatt einfügen verhindern
21.11.2003 19:36:11
th.heinrich
hallo Karli,

bin kein VBA spezialist, aber schuetze nicht das BLATT sondern die MAPPE.

gruss thomas
Anzeige
AW: Tabellenblatt einfügen verhindern
21.11.2003 22:32:33
Josef Ehrensberger
Hallo Karli,

wenn du alle Menüpunkte und die Tastenkombination
zum Einfügen von Tabellenblättern deaktivieren
willst, dann so.


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


Gruß Sepp
Anzeige
AW: Tabellenblatt einfügen verhindern
22.11.2003 10:04:23
KarliH
Hallo Sepp,

das ist der Knaller :-)), besten Dank dafür!!!

Gruß Karli
Danke für die Rückmeldung (o.T.)
22.11.2003 13:40:59
Josef Ehrensberger
/
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Tabellenblatt einfügen verhindern in Excel


Schritt-für-Schritt-Anleitung

Um zu verhindern, dass in Excel ein neues Tabellenblatt eingefügt wird, kannst du VBA verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Diese Arbeitsmappe auswählen: Doppelklicke auf "DieseArbeitsmappe" im Projektfenster.

  3. 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
  4. 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.


Häufige Fehler und Lösungen

  • Problem: Excel kann kein neues Tabellenblatt einfügen.

    • Lösung: Überprüfe, ob der Code korrekt in "DieseArbeitsmappe" eingefügt wurde und dass keine Fehler im VBA-Code vorliegen.
  • Problem: Excel neues Blatt einfügen geht nicht, obwohl der Code aktiviert ist.

    • Lösung: Stelle sicher, dass der Code nicht durch andere Makros oder Einstellungen überschrieben wird.

Alternative Methoden

Wenn du die Menüoption für das Einfügen von Tabellenblättern deaktivieren möchtest, kannst du folgendes verwenden:

  1. 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.


Praktische Beispiele

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

Tipps für Profis

  • Backup deiner Arbeitsmappe: Bevor du Änderungen an VBA vornimmst, erstelle immer ein Backup deiner Arbeitsmappe, um Datenverlust zu vermeiden.
  • Testen in einer neuen Arbeitsmappe: Teste deine VBA-Codes in einer neuen Arbeitsmappe, bevor du sie auf wichtige Dateien anwendest.
  • Verwendung von Kommentaren: Kommentiere deinen Code, um später leichter nachvollziehen zu können, was jeder Teil des Codes bewirkt.

FAQ: Häufige Fragen

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige