Mit vba programmieren das nicht alle mappen gleich aufgehen

Mehrere Tabellenblätter in Excel gleichzeitig ändern

Häufig sind Tabellenblätter in einer Arbeitsmappe gleichartig aufgebaut. Müssen für jedes Arbeitsblatt die gleichen Änderungen vorgenommen werden, so wäre es zu aufwendig, auf jedem Arbeitsblatt die Änderung vorzunehmen.

Mit Hilfe der Gruppierung legen Sie „Blaupapier“ zwischen die einzelnen Tabellenblätter und können in einem Arbeitsschritt sämtliche Änderungen auf beliebig vielen Tabellenblättern vornehmen.

Achten Sie darauf, dass die Tabellenblätter, die Sie gruppieren, identisch aufgebaut sind, sonst kann es Ihnen passieren, dass Sie Daten versehentlich überschreiben oder löschen.

Gruppierung herstellen

  1. Klicken Sie das Register des 1. Tabellenblattes an, das Sie zur Gruppe hinzufügen möchten.
  2. Drücken Sie die Taste STRG und halten Sie sie gedrückt.
  3. Klicken Sie nun alle Tabellenblätter an, die Sie zur Gruppe hinzufügen möchten. In der Titelleiste von Excel erscheint zusätzlich der Text [Gruppierung].

Nachdem Sie alle Tabellen zur Gruppe hinzugefügt haben, nehmen Sie die Änderungen vor, die Sie auf alle Tabellenblätter anwenden möchten.

Gruppierung aufheben

  1. Klicken Sie mit der rechten Maustaste das Register eines Tabellenblattes an, das zur Gruppe gehört.
  2. Wählen Sie den Befehl [Gruppierung aufheben].

Autor

Ich unterstütze unsere Kunden in erster Linie durch Programmierung von Datenbankanwendungen und Zusatzmodulen von Microsoft Office. In Seminaren und Tipps auf unserer Blogseite gebe ich mein Wissen weiter.

Herbers Excel-Forum - das Archiv

Informationen und Beispiele zu den hier genannten Dialog-Elementen:

  • Pa�wort �ber mehrere Tabellen setzen und entfernen von Rolf vom 12.03.2013 21:58:24
    • Das fktioniert sicher in beiden Versionen ... - von Luc:-? am 12.03.2013 22:24:58
      • AW: Das fktioniert sicher in beiden Versionen ... - von Rolf am 12.03.2013 22:29:45
      • AW: Pa�wort �ber mehrere Tabellen setzen und entfernen - von Hubert am 13.03.2013 00:28:23
        • AW: Pa�wort �ber mehrere Tabellen setzen und entfernen - von Rolf am 13.03.2013 00:53:06
          • AW: Pa�wort �ber mehrere Tabellen setzen und entfernen - von fcs am 13.03.2013 01:51:18
            • AW: Pa�wort �ber mehrere Tabellen setzen und entfernen - von Rolf am 13.03.2013 02:42:53
              • AW: Pa�wort �ber mehrere Tabellen setzen und entfernen - von Rolf am 13.03.2013 02:49:17
                • AW: Pa�wort �ber mehrere Tabellen setzen und entfernen - von Hubert am 13.03.2013 09:15:15
                  • AW: Pa�wort �ber mehrere Tabellen setzen und entfernen - von Rolf am 13.03.2013 11:58:50
                    • AW: Pa�wort �ber mehrere Tabellen setzen und entfernen - von Rolf am 19.03.2013 21:23:54
                • aus Prinzip: Passwortsicherheit unter Excel - von Klaus M.vdT. am 13.03.2013 09:37:20
                  • AW: aus Prinzip: Passwortsicherheit unter Excel - von Rolf am 13.03.2013 12:03:41
                    • AW: aus Prinzip: Passwortsicherheit unter Excel - von Klaus M.vdT. am 13.03.2013 13:10:14
                      • AW: aus Prinzip: Passwortsicherheit unter Excel - von Rolf am 13.03.2013 13:19:28
                        • ...und dann k�nnte man auch noch so ... - von Luc:-? am 13.03.2013 18:45:36
                      • AW: aus Prinzip: Passwortsicherheit unter Excel - von Klaus M.vdT. am 13.03.2013 13:15:24


              Betrifft: Pa�wort �ber mehrere Tabellen setzen und entfernen
              von: Rolf

              Geschrieben am: 12.03.2013 21:58:24

              Hallo Excel Fachleute,
              ich habe eine Excel Datei mit ca. 14 Tabellen.
              Darin gibt es gesch�tzte Zellen und eben ungesch�tzte.
              Bisher habe ich die Tabellenbl�tter einzeln mit einem Passwort versehen und wieder entsperrt wenn ich die gesperrten Zellen bearbeiten wollte.
              Mit der Zeit wird dies aber sehr m�hselig.
              Nun habe ich mir �berlegt, ob man ich nicht eine Schaltfl�che einbauen k�nnte und mit dieser einen hinterlegten Befehl alle Tabellenbl�tter auf einen Schlag entsperren und nach getaner Arbeit wieder sperren kann.
              Im Laufe der Zeit k�nnen noch ein paar Tabellenbl�tter dazukommen.
              Meine Frage an Euch ist nun, wie ich das am besten machen k�nnte?
              Per Makroaufzeichnung jede Tabelle einzeln, oder per VBA Programmierung?
              Also Schaltfl�che in Tabelle 1 �Tabellen entsperren� klicken und dann das Passwort eingeben k�nnen und anschlie�end die Schaltfl�che �Tabelle sperren� anklicken Passwort eingeben und alle Tabellen sind wieder gesch�tzt.
              Habe auch im Archiv gesucht aber nichts passendes gefunden.
              Dies sollte unter Excel XP und 2010 funktionieren.
              Wenn nicht anders m�glich auch nur in 2010
              Danke im Voraus f�r eure Hilfe
              Viele Gr��e Rolf


              Betrifft: Das fktioniert sicher in beiden Versionen ...
              von: Luc:-?

              Geschrieben am: 12.03.2013 22:24:58
              …ohne zus�tzl Ma�nahmen, Rolf.
              Es g�be 2 M�glichkeiten…
              1. generell alle TabBl�tter auf 1× (ent)sch�tzen oder
              2. dies blattweise b.Bedarf zu tun (2a) bzw nur die entsprd Zellen zu (ent)sperren (2b).
              F�r 1 und 2b wird ein For Each-Zyklus (1 f.Bl�tter, 2b f.Zellen) ben�tigt, f�r 2a nicht.
              Gru� Luc :-?


              Betrifft: AW: Das fktioniert sicher in beiden Versionen ...
              von: Rolf

              Geschrieben am: 12.03.2013 22:29:45
              Hallo Luc,
              �h was wie? Sorry, verstehe nur Bahnhof.
              Ich bin gerad ein Excel XP. Unter "Extras" - "Schutz" etc. finde ich nur "Blattschutz aufheben"
              Wo finde ich deinenOption 1. generell alle TabBl�tter auf 1� (ent)sch�tzen?
              Und was ist ein "For Each-Zyklus" ?
              Gru� Rolf


              Betrifft: AW: Pa�wort �ber mehrere Tabellen setzen und entfernen
              von: Hubert

              Geschrieben am: 13.03.2013 00:28:23
              Hallo Rolf
              f�ge unter VBA in in einem Modul folgendes ein:

              Sub Aufheben() For I = 1 To Sheets.Count Sheets(I).Unprotect ("") Next I End SubSub Schutz() For I = 1 To Sheets.Count Sheets(I).Protect ("") Next I End Sub

              Lass das entsprechende Makro laufen und alle Bl�tter werden gesch�tzt oder entsch�tzt.
              Gru�, Hubert


              Betrifft: AW: Pa�wort �ber mehrere Tabellen setzen und entfernen
              von: Rolf

              Geschrieben am: 13.03.2013 00:53:06
              Hallo Hubert,
              OK, habe ich gemacht. Funktioniert auch.
              Ist schon fast was ich brauche.
              Gibt es auch eine M�glichkeit das Pa�wort beim Setzen zu vergeben?
              Denn so kann ja jetzt jeder die Sperre einfach aufheben. Ich dachte an setzen...dann muss eine Eingabeaufforderung f�r das zu setzende Pa�wort aufgehen, und beim aufheben ebenso.
              Ist das m�glich?
              Gru� Rolf


              Betrifft: AW: Pa�wort �ber mehrere Tabellen setzen und entfernen
              von: fcs

              Geschrieben am: 13.03.2013 01:51:18
              Hallo Rolf,
              hier 2 Varianten
              Gru�
              Franz

              'Variante 1 - Jeweils Eingabe per Input-Box 'Hier besteht die Gefahr, dass man sich schnell mal beim Setzen des _ Kennworts vertippt und sich anschliessend nicht mehr an das korrekte _ Kennwort erinnert. Sub Aufheben() Dim strPW As String, I As Integer On Error GoTo Fehler strPW = InputBox("Blattschutz - AUS" & vbLf _ & "Bitte Kennwort f�r Blattschutz eingeben", _ "Blattschutz - A U F H E B E N") If strPW <> "" Then For I = 1 To Sheets.Count Sheets(I).Unprotect strPW Next I End If Fehler: With Err Select Case .Number Case 0 'Alles OK Case Else MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description End Select End With End Sub Sub Schutz() Dim strPW As String, I As Integer On Error GoTo Fehler strPW = InputBox("Blattschutz - EIN" & vbLf _ & "Bitte Kennwort f�r Blattschutz eingeben", _ "Blattschutz - A K T I V I E R E N") If strPW <> "" Then For I = 1 To Sheets.Count Sheets(I).Protect strPW Next I End If Fehler: With Err Select Case .Number Case 0 'Alles OK Case Else MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description End Select End With End Sub
              'Variante 2 - Kennwort wird im VBA-Code gespeichert 'Bei dieser Variante muss das VBA-Projekt per Kennwort gesch�tzt werden Private Const strPW = "MyPassword" Sub Aufheben() Dim I As Integer, strEingabe As String strEingabe = InputBox("Bitte Kennwort f�r Blattschutz eingeben", _ "Blattschutz - A U F H E B E N") Select Case strEingabe Case "" Case strPW For I = 1 To Sheets.Count Sheets(I).Unprotect strPW Next I Case Else MsgBox "Kennwort ist falsch" End Select End Sub Sub Schutz() Dim I As Integer For I = 1 To Sheets.Count Sheets(I).Protect strPW Next I End Sub


              Betrifft: AW: Pa�wort �ber mehrere Tabellen setzen und entfernen
              von: Rolf

              Geschrieben am: 13.03.2013 02:42:53
              Hallo Franz,
              danke f�r deine Hilfe...werde ich Morgen Abend mal auprobieren.
              Habe mittlerweile folgendes zusammengesponnen.

              Sub Aufheben() If Application.InputBox("Bitte geben Sie ein Passwort ein!", "Passwortabfrage") = "Hier das Pa� _ wort" Then For I = 1 To Sheets.Count Sheets(I).Unprotect ("") Next I Else MsgBox "Sie haben das falsche Pa�wort eingegeben", vbCritical, "Fehler" End If End Sub
              Sub Schutz() If Application.InputBox("Bitte geben Sie ein Passwort ein!", "Passwortabfrage") = "Hier das Pa� _ wort" Then For I = 1 To Sheets.Count Sheets(I).Protect ("") Next I Else MsgBox "Sie haben nicht die Berechtigung, das Makro auszuf�hren", vbCritical, "Fehler" End If End Sub

              Das funktioniert bis jetzt auch. Habe aber keine Ahnung ob das Makro so prinzipiell Stolpersteine beherbergt. K�nntest du da mal bei Gelegenheit dr�berschauen?
              Jetzt muss ich aber ins Bett. Muss gleich wieder zur Arbeit.
              Gute Nacht
              Gru� Rolf


              Betrifft: AW: Pa�wort �ber mehrere Tabellen setzen und entfernen
              von: Rolf

              Geschrieben am: 13.03.2013 02:49:17
              Hallo Franz,
              jetzt habe ic doch noch schnell die 2. Variante von dir ausprobiert.
              Die funktioniert auch hervorragend!
              Habe noch das Modul mit Pa�wort gesch�tzt.
              Somit ist das Problem gel�st.
              Vielen lieben Dank f�r die Hilfe!
              Gute Nacht und Gru� Rolf


              Betrifft: AW: Pa�wort �ber mehrere Tabellen setzen und entfernen
              von: Hubert

              Geschrieben am: 13.03.2013 09:15:15
              Hallo Rolf
              Franz hat dir ja schon klasse geholfen, aber
              zur Vervollst�ndigung meiner Version hier noch einmal
              meine angepasste Version:

              Sub Aufheben() Dim StrEing As String StrEing = InputBox("Passwort ?") On Error GoTo Errorhandler For I = 1 To Sheets.Count Sheets(I).Unprotect StrEing Next I Exit Sub Errorhandler: MsgBox "Falsches Passwort !" End Sub
              Sub Schutz() For I = 1 To Sheets.Count Sheets(I).Protect ("test") Next I End Sub

              Gru� und enen sch�nen Tag
              Hubert


              Betrifft: AW: Pa�wort �ber mehrere Tabellen setzen und entfernen
              von: Rolf

              Geschrieben am: 13.03.2013 11:58:50
              Hallo Hubert,
              vielen Dank auch an dich!
              Das ist super! Ich glaube ich werde das benutzen.
              Franz hat recht. Die Gefahr da� man sich bei der Eingabe des neuen Pa�worts vertippt ist zu gro�. So ist sichergestellt da� an schnell und einfach ein vordefiniertes PW setzt.
              Ich danke Allen die mir so gut und schnell geholfen haben!
              Ihr seid wie immer spitze!
              Problem gel�st!
              Gru� Rolf


              Betrifft: AW: Pa�wort �ber mehrere Tabellen setzen und entfernen
              von: Rolf

              Geschrieben am: 19.03.2013 21:23:54
              Hallo Klaus,
              ich habe doch noch ein Problem mit deiner VBA. Vielleicht kannst du mir nochmal helfen?
              Ich poste gleich mein Problem hier. Grob...ich habe ein VBA welches mir die bedingte Formatierung mit x Optionen erm�glicht. Durch das setzen des Blattschutzes, bekomme ich nun eine Fehlermeldung im Code. Wenn ich den Blattschutz weider entferne, funktioniert die Formatierung wieder ohne Probleme. Vielleicht kannst du mir dazu helfen?
              Viele Gr��e
              Rolf


              Betrifft: aus Prinzip: Passwortsicherheit unter Excel
              von: Klaus M.vdT.

              Geschrieben am: 13.03.2013 09:37:20
              Hallo Rolf,
              nur zu deiner Information, ein Passwort sch�tzt zwar vor circa 99% aller "dummen" User, aber verlass dich nicht auf die Excel-Sicherheit um sensible Daten zu sch�tzen.
              Denn so kann ja jetzt jeder die Sperre einfach aufheben.
              Und wenn du ein Passwort vergibts dass ich nicht kenne, brauche ich circa 15 Sekunden um das auszuhebeln. Wer die Vorgehensweise daf�r noch nicht kennt aber google bedienen kann, schafft es in unter 15 Minuten.
              Das VBA-Projekt selbst zu sch�tzen bringt schon etwas mehr, aber auch nicht viel. Auch dass ist mit einfachsten Mitteln zu knacken, auch hierf�r bietet google die L�sungen leider frei haus. Ich hab das jetzt nicht getestet, aber ich meine ich kann das Blattschutz-Passwort sogar bei gesperrtem VBA-Modul knacken ohne dass es viel mehr Umst�nde macht.
              Ich will dich jetzt sicher nicht davon abbringen deine Projekte zu sch�tzen. Wie oben schon gesagt, da die meisten User gerade mal wissen wie man den Computer anschaltet reicht der Schutz eigentlich. Nur wisse, in Excel ist nichts sicher.
              Gr��e,
              Klaus M.vdT.


              Betrifft: AW: aus Prinzip: Passwortsicherheit unter Excel
              von: Rolf

              Geschrieben am: 13.03.2013 12:03:41
              Hallo Klaus,
              ja ich wei� die Sicherheit...ich "hoffe" da� keiner in meiner Firma soviel kriminielle Energie verwendet um das PW knacken zu wollen. Es handelt sich eigentlich auch nicht um zu geheime Daten, sondern eher um den Versuch da� nicht jeder User gleich die Formeln in den Tabellen zerst�ren kann. Vielleicht etwas zu naiv ich wei�. Ist auch doof, wenn Microsoft schon diese Optionen zur Pa�wortvergabe anbietet, sollte das auch sicher sein.
              Hast du einen Tipp wie man das �ber das Standardma� von Excel absichern k�nnte?
              Gru� Rol


              Betrifft: AW: aus Prinzip: Passwortsicherheit unter Excel
              von: Klaus M.vdT.

              Geschrieben am: 13.03.2013 13:10:14
              Hi Ralf,
              Ist auch doof, wenn Microsoft schon diese Optionen zur Pa�wortvergabe anbietet, sollte das auch sicher sein
              Darauf antworte ich mit einem xkcd-Comic:

              Hast du einen Tipp wie man das �ber das Standardma� von Excel absichern k�nnte?
              Nein, nicht wirklich. F�r Tabellenbl�tter schon mal gar nicht, da kommt man immer ran.
              Bei VBA-Code k�nnte man etwas mehr machen. Nepumuk hatte mal ein Beispiel gepostet, in dem er das VBA-Projekt in eine *.DLL ausgelagert hat - die h�tte man zun�chst dekodieren m�ssen (theoretisch auch m�glich, aber schon viel unwarscheinlicher).
              Dann gibt es noch Codecrunch, hier mal ein Beispiel: //www.crunchcode.de/de/
              Weitere Lekt�re: Google oder Wiki nach dem Begriff "Obfuscator"
              Die Idee dahinter ist, den Code nicht zu sch�tzen (weils eh nicht geht) sondern bei Funktionalit�t f�r Menschen unlesbar und unverst�ndlich zu machen.
              Gr��e,
              Klaus M.vdT.


              Betrifft: AW: aus Prinzip: Passwortsicherheit unter Excel
              von: Rolf
              Geschrieben am: 13.03.2013 13:19:28
              Hallo Klaus,
              Ok ich verstehe. Danke f�r deine guten Ausf�hrungen.
              Ich lese mir das mal durch
              Gute Zeit!
              Gru� Rolf


              Betrifft: ...und dann k�nnte man auch noch so ...
              von: Luc:-?

              Geschrieben am: 13.03.2013 18:45:36
              …gemeine Fallen einbauen, Rolf & Klaus,
              die per vbFkt/Methode CallByName in Verbindung mit einer etwas anspruchsvolleren Kryptisierungsfkt m�glich wdn. Bei aktiviertem Code, irgendwann wird der Raubkopierer das ja mal tun wollen, wenn die Datei sonst keine oder keine volle Fktionalit�t entfaltet, k�nnten so nicht nur fast alle Bl�tter der Datei gel�scht wdn, sondern auch das Blatt mit diesem Code. Wenn der gleich beim Dateiaufruf eingesetzt wird, findet VBA den nicht und Xl st�rzt deshalb beim n�chsten Dateiaufruf ab. Der w�re allerdings auf Grund der Blattl�schung ohnehin sinnlos.
              Daten k�nnte man ebenfalls kryptisieren (daf�r gibt's ProfiPgmm) oder durch Zufallszahlen bzw Matrixfktt zur Datenbereitstellung (nat�rlich in einer Form, die nur eine beliebige Anzahl von #WERT!-Fehlern zur�ckgibt, die aber bei Verbindung zur Datenquelle durch die echten Daten substituiert wdn k�nnen) ersetzen. Die Datenquelle m�sste sicher verwahrt sein, die �ffentliche Tabelle verweist darauf (per LeselupenFkt oder in der Matrixfml). Wird die ZielMappe von dieser Quelle getrennt, fktt das alles nicht mehr. �brigens k�nnte man sogar (einfache) xlStandardFktt durch eigene ersetzen, die in der Quelle vorhanden, im Trennungsfall nur noch #NAME? zur�ckgeben, falls man nicht ohnehin nur die Ergebnisse verwenden will. Diese einfachen Eigen-UDF k�nnten quasi nur durchnummeriert sein, so dass sie nicht ihren Zweck verraten. Hierzu und zur eher �blichen Datenkrypti­sierung finden sich Bspp im Herber-Archiv (zu Ersterem von mir).
              Sicher gibt's noch einige andere M�glichkeiten, aber das Anlegen eines COM-AddIn (dll-basiert) ist sicher die beste, denn sie ist auch juristisch relevant, wenn man, wie allgemein �blich, die Dekompilierung ausdr�cklich verbietet. Bei normalen AddIns w�re das trotz evtl PW-Knackverbot fraglich.
              Gru� Luc :-?


              Betrifft: AW: aus Prinzip: Passwortsicherheit unter Excel
              von: Klaus M.vdT.

              Geschrieben am: 13.03.2013 13:15:24
              Hi Ralf,
              Ist auch doof, wenn Microsoft schon diese Optionen zur Pa�wortvergabe anbietet, sollte das auch sicher sein
              Darauf antworte ich mit einem xkcd-Comic:

              Hast du einen Tipp wie man das �ber das Standardma� von Excel absichern k�nnte?
              Nein, nicht wirklich. F�r Tabellenbl�tter schon mal gar nicht, da kommt man immer ran.
              Bei VBA-Code k�nnte man etwas mehr machen. Nepumuk hatte mal ein Beispiel gepostet, in dem er das VBA-Projekt in eine *.DLL ausgelagert hat - die h�tte man zun�chst dekodieren m�ssen (theoretisch auch m�glich, aber schon viel unwarscheinlicher).
              Dann gibt es noch Codecrunch, hier mal ein Beispiel: //www.crunchcode.de/de/
              Weitere Lekt�re: Google oder Wiki nach dem Begriff "Obfuscator"
              Die Idee dahinter ist, den Code nicht zu sch�tzen (weils eh nicht geht) sondern bei Funktionalit�t f�r Menschen unlesbar und unverst�ndlich zu machen.
              Gr��e,
              Klaus M.vdT.

               


              Excel-Beispiele zum Thema "Pa�wort �ber mehrere Tabellen setzen und entfernen"
              Pa�wortabfrage F�r ein VBE-Projekt mit VBA-Code ein Pa�wort festlegen
              Pa�wortdatei anlegen Ausgeblendetes Tabellenblatt bei Pa�worteingabe anzeigen
              Pa�wortabfrage mit UserForm Speichern-Befehl abfangen und unter Pa�wort speichern
              Datei-Speichern-Dialog zusammen mit Pa�wortdialog aufrufen Pa�wortabfrage beim �ffnen der Arbeitsmappe
              Suche �ber mehrere Tabellen Mehrere Schaltfl�chen f�r ein Makro

              Wird VBA abgeschafft?

              Wer will, kann seine Anwendungen also weiterhin in der Sprache programmieren und pflegen, mit der Zeit wird man aber den Anschluss verlieren, wenn man nicht parallel an einer Migration auf andere Sprachen arbeitet. Damit ist nun endgültig klar, dass Visual Basic auch im Microsoft-Umfeld keine Zukunft mehr hat.

              Wie können sie in allen Tabellenblättern gleichzeitig eine Änderung vornehmen?

              Dazu öffnet man die betreffende Excel-Tabelle als Erstes. Jetzt zum ersten Tabellenblatt umschalten, das geändert werden soll. Bei gedrückter [Umschalt]-Taste klickt man nun auf die weiteren Tabs der Blätter, die ebenfalls betroffen sein sollen. Nun die Zelle(n) wie gewünscht ändern.

              Was kann man mit VBA alles machen?

              Visual Basic for Application (kurz: VBA) ist die integrierte Makro-/Programmiersprache in Microsoft Office, die es Ihnen ermöglicht applikations-übergreifend Programme zu erstellen und Workflows weitgehend zu automatisieren.

              Wie erstelle ich ein VBA Makro?

              Visual Basic-Editor Um eine neue VBA Makro Routine zu erstellen, klicken Sie in der Registerkarte „Entwicklertools“ auf „Makros“. Es öffnet sich ein Dialogfeld, in dem Sie für den Namen der VBA Makro Routine beispielsweise „Hello“ eingeben können.

              Toplist

              Neuester Beitrag

              Stichworte