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

Tabellenblätter verschieben verhindern

Forumthread: Tabellenblätter verschieben verhindern

Tabellenblätter verschieben verhindern
23.07.2007 11:38:42
Wolfgang
Hallo liebe Helfer
in meinem Programm existiert ein Deckblatt auf dem die einzelnen Tabellenblätter addiert werden.
Die Tabellenblätter heissen SYS1 bis SYS x
Das letzte Blatt heisst "ENDE" und neue Systeme werden über worksheet.count -2 vor das
"ENDE-Blatt" eingefügt ( per Programm )
Auf dem Deckblatt werden die Zellen mit Formel Summe(SYS1!:Ende! "Zelle") aufsummiert.
Das manuelle Umbenennen und Einfügen von Tabellenblättern habe ich per VBA unterbunden.
Wie lautet der Befehl um auch das Verschieben von Tabellenblättern zu verhindern?
( ein DAU hat SYS1 hinter SYS 5 geschoben mit dann leider falschem Ergebnis )
im Voraus vielen Dank
Wolfgang

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblätter verschieben verhindern
23.07.2007 11:43:00
Rudi
Hallo,
dann schütze doch die Mappe.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Tabellenblätter verschieben verhindern
23.07.2007 11:56:27
Wolfgang
Leider nicht so einfach
ich hab das Problem etwas vereinfacht dargestellt.
in der Datei darf man relativ viel machen; also auch z.B. Zeilen einfügen etc.
Ich möchte das verschieben der Tabellenblätter per Maus Verhindern
Gruss
Wolfagng

Anzeige
AW: Tabellenblätter verschieben verhindern
23.07.2007 12:03:00
ransi
HAllo
Erstell dir als 2tes Blatt ein "Dummy" Blatt Dummy1.
Als letztes Blatt ein "Dummy" Blatt Dummy2.
Diese beiden blendest du aus.
Dann wäre die Formel so:
=SUMME(Dummy1:Dummy2!A1:B10)
Die Tabellenblätter Sys1-x können dann hin und hergeschoben werden und die Summenformel funzt immer noch.
ransi

Anzeige
AW: Tabellenblätter verschieben verhindern
23.07.2007 12:04:00
Rudi
Hallo,

also auch z.B. Zeilen einfügen 


das kannst du auch bei Mappenschutz.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Tabellenblätter verschieben verhindern
23.07.2007 11:51:00
ransi
HAllo Wolfgang
das Hier wäre ein Ansatz:
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Open()
aus
End Sub

Private Sub Workbook_Activate()
aus
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ein
End Sub

Private Sub Workbook_Deactivate()
ein
End Sub



Public Sub aus()
Dim c As CommandBarControl
For Each c In Application.CommandBars.FindControls(ID:=848)
    c.Enabled = False
Next
End Sub

Public Sub ein()
Dim c As CommandBarControl
For Each c In Application.CommandBars.FindControls(ID:=848)
    c.Enabled = True
Next
End Sub

ransi

Anzeige
AW: Tabellenblätter verschieben verhindern
23.07.2007 13:12:00
Rudi
Hallo ransi,
das verhindert aber nicht das Verschieben mit der Maus.
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Super
23.07.2007 12:14:00
Wolfgang
genau das wars!!!!!!!!!!!
vielen Dank an Alle die sich bemüht haben
Gruss Wolfgang

AW: Tabellenblätter verschieben verhindern
23.07.2007 12:58:52
Renee
Hi Wolfgang,
ein DAU hat SYS1 hinter SYS 5 geschoben mit dann leider falschem Ergebnis
...dann tippe ich aber eher auf einen DAP.
Greetz Renee

Anzeige
AW: DAP von Renee
23.07.2007 14:00:33
Renee
bringt nicht viel deine Antwort;
Hast ja recht; hab das Programm vor 3 Jahren geschrieben.
Brächte den Programmcode heute bestimmt auf die Hälfte.
Aber wie es so ist; immer ein Stückchen angeflanscht und nie
die Zeit genommen es komplett neu zu schreiben.
wie auch immer; Ihr habt mir geholfen
Gruss Wolfgang
Anzeige
;
Anzeige

Infobox / Tutorial

Tabellenblätter in Excel verschieben verhindern


Schritt-für-Schritt-Anleitung

Um das Verschieben von Tabellenblättern in Excel zu verhindern, kannst du folgende VBA-Schritte befolgen:

  1. Öffne deine Excel-Datei.

  2. Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  3. Doppelklicke im Projektfenster auf "DieseArbeitsmappe".

  4. Füge den folgenden Code ein:

    Private Sub Workbook_Open()
       Dim c As CommandBarControl
       For Each c In Application.CommandBars.FindControls(ID:=848)
           c.Enabled = False
       Next
    End Sub
    
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
       Dim c As CommandBarControl
       For Each c In Application.CommandBars.FindControls(ID:=848)
           c.Enabled = True
       Next
    End Sub
  5. Schließe den VBA-Editor und speichere die Änderungen.

  6. Schließe und öffne die Excel-Datei erneut, um die Änderungen zu aktivieren.

Mit diesem Code wird das Verschieben von Tabellenblättern über die Maus deaktiviert.


Häufige Fehler und Lösungen

  • Fehler: Der Code funktioniert nicht.

    • Lösung: Stelle sicher, dass du den Code in "DieseArbeitsmappe" eingefügt hast und die Datei als Makro-fähige Arbeitsmappe speicherst (*.xlsm).
  • Fehler: Tabellenblätter können weiterhin verschoben werden.

    • Lösung: Überprüfe, ob die Makros aktiviert sind. Gehe zu Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Einstellungen für Makros und aktiviere die Option für Makros.

Alternative Methoden

Wenn du die Tabellenblätter nicht per VBA schützen möchtest, kannst du auch Dummy-Blätter verwenden:

  1. Erstelle ein zusätzliches Blatt (z.B. "Dummy1") und ein weiteres Blatt (z.B. "Dummy2") am Ende.
  2. Blende diese Blätter aus, indem du mit der rechten Maustaste auf das Blatt klickst und "Ausblenden" wählst.
  3. Verwende die Formel:

    =SUMME(Dummy1:Dummy2!A1:B10)

Auf diese Weise bleiben die Berechnungen korrekt, auch wenn die anderen Blätter verschoben werden.


Praktische Beispiele

Angenommen, du hast mehrere Tabellenblätter mit den Namen SYS1, SYS2, SYS3 und möchtest verhindern, dass Benutzer sie verschieben. Mit dem oben beschriebenen VBA-Code wird das Verschieben der Blätter unterbunden. Die Benutzer können jedoch weiterhin Daten eingeben oder Formeln verwenden, solange sie keine Strukturänderungen vornehmen.


Tipps für Profis

  • Makros: Überlege dir, ob du die Datei mit einem Passwort schützen möchtest, um unbefugten Zugriff auf den VBA-Code zu verhindern.
  • Benutzerführung: Informiere Benutzer über die Verwendung der Excel-Datei, um Missverständnisse und Fehler zu minimieren.
  • Backup: Erstelle regelmäßige Backups deiner Excel-Datei, um Datenverluste zu vermeiden.

FAQ: Häufige Fragen

1. Kann ich das Verschieben von Tabellenblättern auch ohne VBA verhindern? Ja, du kannst Dummy-Blätter erstellen und diese ausblenden. So bleibt die Struktur intakt, auch wenn die anderen Blätter verschoben werden.

2. Was passiert, wenn ich die Datei ohne Makros öffne? Wenn die Datei ohne aktivierte Makros geöffnet wird, können die Tabellenblätter weiterhin verschoben werden. Stelle sicher, dass die Makros aktiviert sind, um den Schutz zu gewährleisten.

3. Funktioniert das in allen Excel-Versionen? Die beschriebenen Methoden funktionieren in den meisten aktuellen Excel-Versionen, einschließlich Excel 2010 und höher.

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