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

Forumthread: Blatt löschen verhindern

Blatt löschen verhindern
05.09.2006 11:35:29
Torsten
Hallo beisammen,
ich möchte verhindern, daß meine User ein Blatt löschen können über den rechten Mausklick auf den Register mit dem Blattnamen. In der Recherche fand ich:
Application.CommandBars ("Ply")
aber das funktioniert nicht. Wie muß der Code korrekt lauten?
Für Eure Tipps besten Dank.
Gruß
Torsten
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blatt löschen verhindern
05.09.2006 11:42:17
Matthias
Hallo Torsten,
mit dem Arbeitsmappenschutz kann man die komplette Struktur schützen. Dann kann man aber auch keine Blätter mehr hinzufügen. Ist das in deinem Sinne?
Gruß Matthias
AW: Blatt löschen verhindern
05.09.2006 11:45:49
Torsten
Hallo Matthias,
vielen Dank für Deine Rückmeldung.
Kann man das denn Userabhängig steuern? Die oben beschrieben Option soll nämlich nur dann greifen, wenn der Username ungleich meinem ist.
Gruß
Torsten
Anzeige
AW: Blatt löschen verhindern
05.09.2006 11:48:23
Matthias
Hallo Torsten,
userabhängig vielleicht so (in DieseArbeitsmappe):

Private Sub Workbook_Activate()
If UCase(Environ("USERNAME")) <> "TORSTEN" Then 'Dein Windows-Benutzername!
Application.CommandBars("Ply").Enabled = False
End If
End Sub
Private Sub Workbook_Deactivate()
Application.CommandBars("Ply").Enabled = True
End Sub

Gruß Matthias
Anzeige
AW: Blatt löschen verhindern
05.09.2006 11:46:21
Matthias
Hallo Torsten,
ansonsten in "DieseArbeitsmappe":

Private Sub Workbook_Activate()
Application.CommandBars("Ply").Enabled = False
End Sub
Private Sub Workbook_Deactivate()
Application.CommandBars("Ply").Enabled = True
End Sub

Gruß Matthias
Anzeige
ereldigt - Bestens - Vielen Dank - Gruß Torsten oT
05.09.2006 11:52:09
Torsten
;
Anzeige

Infobox / Tutorial

Blatt löschen verhindern in Excel


Schritt-für-Schritt-Anleitung

Um das Löschen von Blättern in Excel zu verhindern, kannst Du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Im Projektfenster wähle die Arbeitsmappe aus, in der Du das Löschen von Blättern verhindern möchtest.
  3. Doppelklicke auf „DieseArbeitsmappe“.
  4. Füge den folgenden Code ein:
Private Sub Workbook_Activate()
    If UCase(Environ("USERNAME")) <> "DEIN_BENUTZERNAME" Then 'Ersetze DEIN_BENUTZERNAME mit deinem Windows-Benutzernamen
        Application.CommandBars("Ply").Enabled = False
    End If
End Sub

Private Sub Workbook_Deactivate()
    Application.CommandBars("Ply").Enabled = True
End Sub
  1. Speichere Deine Änderungen und schließe den VBA-Editor.

Jetzt haben nur Benutzer, die nicht den angegebenen Benutzernamen verwenden, die Möglichkeit, Blätter zu löschen.


Häufige Fehler und Lösungen

  • Fehler: Der Code funktioniert nicht.

    • Lösung: Stelle sicher, dass Du den richtigen Benutzernamen in den Code eingefügt hast. Verwende den genauen Namen, wie er im Windows-Benutzerkonto erscheint.
  • Fehler: Blätter können nicht mehr hinzugefügt werden.

    • Lösung: Der Schutz der Arbeitsmappe kann das Hinzufügen von Blättern verhindern. Überlege, ob Du den vollständigen Schutz benötigst oder nur das Löschen verhindern möchtest.

Alternative Methoden

Eine alternative Methode, um das Löschen von Blättern zu verhindern, besteht darin, die Struktur der Arbeitsmappe zu schützen:

  1. Gehe zu „Überprüfen“ in der Menüleiste.
  2. Klicke auf „Struktur der Arbeitsmappe schützen“.
  3. Aktiviere das Kontrollkästchen für „Blätter löschen“ und lege ein Passwort fest.

Mit dieser Methode können Benutzer keine Blätter löschen, aber auch keine neuen Blätter hinzufügen.


Praktische Beispiele

Nehmen wir an, Du hast eine Arbeitsmappe mit mehreren Blättern. Du möchtest verhindern, dass Deine Kollegen Blätter löschen, während Du selbst das Recht dazu hast. Mit dem oben beschriebenen VBA-Code kannst Du dies einfach umsetzen.

Beispielcode:

Private Sub Workbook_Activate()
    If UCase(Environ("USERNAME")) <> "MEINNAME" Then
        Application.CommandBars("Ply").Enabled = False
    End If
End Sub

Ersetze „MEINNAME“ mit Deinem tatsächlichen Benutzernamen, um die Funktionalität korrekt zu implementieren.


Tipps für Profis

  • Benutzerdefinierte Meldungen: Du kannst auch benutzerdefinierte Fehlermeldungen einfügen, wenn ein Benutzer versucht, ein Blatt zu löschen.

  • Ersatzbefehle: Überlege, alternative Möglichkeiten zu schaffen, um Blätter zu schützen, z. B. durch das Erstellen von Schaltflächen für bestimmte Benutzeraktionen.

  • Testing: Teste den Code in einer Sicherungskopie Deiner Arbeitsmappe, bevor Du ihn in einer produktiven Umgebung verwendest.


FAQ: Häufige Fragen

1. Kann ich den VBA-Code auch in Excel Online verwenden? Der VBA-Code funktioniert nur in Desktop-Versionen von Excel, nicht in Excel Online.

2. Was passiert, wenn ich den Code nicht in „DieseArbeitsmappe“ einfüge? Der Code funktioniert nicht, wenn er nicht im richtigen Modul platziert wird. Achte darauf, dass Du ihn genau dort einfügst.

3. Ist es möglich, den Code für mehrere Benutzer anzupassen? Ja, Du kannst mehrere Benutzernamen im Code abfragen und entsprechend anpassen, um unterschiedliche Berechtigungen zu vergeben.

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