Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
632to636
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
632to636
632to636
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellennamen Schützen vor Überschreiben

Tabellennamen Schützen vor Überschreiben
08.07.2005 17:07:51
Martin
Hallo liebes Herber Forum
mit dem folgenden VBA kann ich dank der Mithilfe einiger Forums-User, sicherstellen, dass keine neuen Tabellenblätter angelegt oder Kopiert werden können.
Wie kann ich nun zusäzlich noch die Tabellennamen vor Abänderung, Verschieben oder noch schlimmer dem Löschen schützen?
Unsere Anwender sind leider zu allem fähig.
Bei Tests wurden alle Tabellenblätter gelöscht wenn die Namen verändert wurden.
Das schützen der Arbeitsmappe kommt leider nicht in Frage oder ist nur bedingt geeignet.
'**** Gesammt VBA durch "IngGi" 80%, "UweD" 20% unterstützt erstellt****
'alle Makros unter "diese Arbeitsmappe" einfügen
'****Teil VBA von UweD ****

Private Sub Workbook_NewSheet(ByVal sh As Object)
On Error GoTo Fehler
Application.ScreenUpdating = False
MsgBox "Nicht erlaubt"
Application.DisplayAlerts = False
ActiveSheet.Delete
Fehler:
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

'**** Teil von IngGi" ****

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim sh As Object, BName As String
If ThisWorkbook.Sheets.Count > 2 Then
For Each sh In ThisWorkbook.Sheets
If sh.Name <> "Meldeblatt" And sh.Name <> "Querry" Then BName = "Treffer"
Next sh
If BName = "Treffer" Then
For Each sh In ThisWorkbook.Sheets
If sh.Name <> "Meldeblatt" And sh.Name <> "Querry" Then
Application.DisplayAlerts = False
sh.Delete
Application.DisplayAlerts = True
End If
Next sh
Else
MsgBox ("Die Datei enthält mehrere Blätter. " & _
"Es kann jedoch nur ein Blatt gespeichert werden. " & _
"Um die Datei speichern zu können, müssen Sie dem zu speichernden Blatt " & _
"den Namen " & Chr$(34) & "Meldeblatt" & Chr$(34) & " geben. Alle anderen Blätter " & _
"werden gelöscht. Kopieren Sie diese Blätter daher vor dem Speichern jeweils in " & _
"eine eigene Datei.")
Cancel = True
End If
End If
End Sub


Private Sub Workbook_SheetActivate(ByVal sh As Object)
If ThisWorkbook.Sheets.Count > 2 Then
MsgBox ("Sie haben ein neues Tabellenblatt eingefügt. " _
& "Beim Speichern der Datei werden alle Tabellenblätter mit Ausnahme des ersten gelöscht! " _
& "Verwenden Sie für eine neue Meldung bitte eine neue Datei!")
End If
End Sub

Danke für Eure Hilfe
Martin

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellennamen Schützen vor Überschreiben
08.07.2005 17:38:18
Beate
Hallo Martin,
Reicht dir das:
gehe über Menü > Extras > Schutz.... > Arbeitsmappe schützen... > Struktur anhaken
Auch ein Passwort kann vergeben werden.
Wenn du dann ein Blattregister mit rechts anklickst, siehst du, was alles nicht mehr geht.
Gruß,
Beate
AW: Tabellennamen Schützen vor Überschreiben
08.07.2005 22:55:21
Martin
Hallo Beate
werde am Montag im Office den Versuch machen und Testen ob diese Option die geeignete Variante darstellt.
Eventuell hat jemand die Lösung mit VBA auch noch bereit.
Danke vorerst
Gruss
Martin
Anzeige
AW: Tabellennamen Schützen vor Überschreiben
09.07.2005 06:37:37
Hajo_Zi
Hallo Martin,
den von Beate vorgeschlagenen Weg kannst Du auch mit dem Makrorecorder aufzeichnen.
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige