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

Forumthread: Formel trotz Blattschutz in neue Zeile einfügen

Formel trotz Blattschutz in neue Zeile einfügen
19.01.2018 09:28:07
Sandra
Guten Morgen zusammen,
ich habe eine Excelliste mit ganz vielen Formeln. Diese Formeln sollen gegen Überschreiben geschützt sein. Das erreiche ich mit dem Blattschutz. Dieser verhindert allerdings, dass sich die Formeln nach unten automatisch kopieren, wenn ich neue Zeilen einfüge.
Kann ich das irgendwie umgehen? Kopieren ist beim Blattschutz ja auch keine Alternative.
Wäre toll, wenn Ihr mir helfen könntet.
Vielen Dank & liebe Grüße
Sandra
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel trotz Blattschutz in neue Zeile einfügen
19.01.2018 09:50:21
Werner
Hallo Sandra,
das ist meines Wissens nach über den Blattschutz nicht möglich.
Es wäre aber über ein Ereignismakro des entsprechenden Tabellenblattes möglich.
Mach mal den Blattschutz raus.
Folgendes Makro ins Tabellenblatt auf dem sich deine zu schützenden Formeln befinden.
Rechtsklick auf den Blattreiter - Code anzeigen - Code rechts ins Codefenster kopieren
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.HasFormula Then Target.Offset(0, 1).Select
End Sub
Dann ggf. noch ein Makro ins Open Ereignis deiner entsprechenden Mappe. Hierbei wird beim Öffnen der Datei dein Tabellenblatt aktiviert und eine Zelle ausgewählt, die keine Formel enthält. Die Zelle müsstest du an deine Bedürfnisse anpassen. Code gehört ins Codemodul von "DieseArbeitsmappe"
Private Sub Workbook_Open()
Worksheets("Tabelle2").Activate 'Blattname anpassen
Range("A1").Select 'Zelle ohne Formel wählen
End Sub
Durch die Makros wird geprüft, ob in der selektierten Zelle eine Formel ist, wenn ja, dann wird die Zelle rechts daneben auswgewählt. So wird verhindert, dass Zellen mit Formeln überhaupt ausgewählt werden können.
Gruß Werner
Anzeige
AW: Formel trotz Blattschutz in neue Zeile
19.01.2018 10:04:12
Sandra
Hallo Werner,
das klappt schon super. Jetzt hat die Sache einen Haken. Wenn ich die Tabelle zur Bearbeitung weitergebe, und mein "Mitspieler" Makros nicht aktiviert, greift das Ganze nicht. Gibt es die Möglichkeit, die Makroverwendung zu erzwingen? Also dass sich z. B. das Dokument nur öffnen und/oder bearbeiten lässt, wenn die Makroverwendung aktiviert wurde?
Oder eben eine Alternative ohne VBA? Ich meine ich liebe es schon jetzt. :)
Danke & Gruß
Sandra
Anzeige
AW: UserInterface
19.01.2018 10:17:58
Fennek
Hallo,
ein anderer Ansatz wäre, das Blatt zu schützen mit

activesheet.protect ,,,, True
d.h. nur Änderungen per VBA zuzulassen.
Dann kann per Event-Makro in die Zellen geschrieben werden.
mfg
AW: UserInterface
19.01.2018 10:56:18
Luschi
Hallo Sandra,
eine Spur schärfer als der Vorschlag von Fennek sieht so aus:
Activesheet.Protect True, , , , True
Dann kann man den Blattschutz nur noch per Vba wieder aufheben!
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Gute Idee! owT
19.01.2018 11:26:30
Fennek
AW: Warum geht nicht, Schutz wieder aus?
19.01.2018 11:31:59
Dieter(Drummer)
Hallo Luschi,
dein Vorschlag für Tab. Protect:
Sub aus()
ActiveSheet.Protect True, , , , True
End Sub

funktioniert. Aber, warum geht der Schutz mit diesem Code nicht wieder aus?
Sub aus()
ActiveSheet.Protect False, , , , False
End Sub

Gruß, Dieter(Drummer)
Anzeige
AW: Warum geht nicht, Schutz wieder aus?
19.01.2018 11:42:14
Fennek

Sub aus()
ActiveSheet.UnProtect True
End Sub

AW: Danke Fenneck, perfekt. Gruß owT.
19.01.2018 11:52:16
Dieter(Drummer)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Formel trotz Blattschutz in neue Zeile einfügen


Schritt-für-Schritt-Anleitung

  1. Blattschutz entfernen: Zuerst musst Du den Blattschutz aufheben, um die notwendigen Änderungen vorzunehmen. Rechtsklicke auf den Blattreiter und wähle „Blatt schützen“ ab.

  2. Makros erstellen: Füge die folgenden Makros in den VBA-Editor ein:

    • Rechtsklick auf den Blattreiter und wähle „Code anzeigen“. Füge diesen Code ein, um die Auswahl von Zellen mit Formeln zu verhindern:

      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Target.HasFormula Then Target.Offset(0, 1).Select
      End Sub
    • Um beim Öffnen der Datei eine Zelle ohne Formel auszuwählen, füge diesen Code ins Codemodul von „DieseArbeitsmappe“ ein:

      Private Sub Workbook_Open()
      Worksheets("Tabelle2").Activate ' Blattname anpassen
      Range("A1").Select ' Zelle ohne Formel wählen
      End Sub
  3. Blattschutz wieder aktivieren: Aktiviere den Blattschutz wieder, aber mit den entsprechenden Einstellung, um die Makros zuzulassen:

    ActiveSheet.Protect , , , , True

Häufige Fehler und Lösungen

  • Makros sind deaktiviert: Wenn die Makros bei einem "Mitspieler" nicht funktionieren, stelle sicher, dass diese in den Excel-Einstellungen aktiviert sind. Du kannst die Datei so erstellen, dass sie nur geöffnet werden kann, wenn Makros aktiviert sind.

  • Blattschutz lässt sich nicht aufheben: Wenn Du den Blattschutz mit ActiveSheet.Protect True aktiviert hast, musst Du diesen mit dem entsprechenden Passwort oder durch die Verwendung von VBA aufheben:

    ActiveSheet.UnProtect True

Alternative Methoden

Falls Du ohne VBA arbeiten möchtest, gibt es folgende Alternativen:

  1. Datengültigkeit: Du kannst Datengültigkeitsregeln verwenden, um zu steuern, welche Eingaben in Zellen erlaubt sind. Diese Methode bietet jedoch nicht den gleichen Schutz wie der Blattschutz.

  2. Formeln in geschützten Zellen: Du kannst Formeln in geschützten Zellen belassen und neue Zeilen manuell hinzufügen, ohne die Formeln zu kopieren.


Praktische Beispiele

  • Makro für dynamische Zellauswahl: Wenn Du eine Liste hast, in der sich die Formeln nach unten kopieren sollen, nutze das folgende Makro, um die Auswahl dynamisch zu steuern:

    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("A:A")) Is Nothing Then
        ' Automatisches Kopieren der Formel in die neue Zeile
        Target.Offset(0, 1).Formula = Target.Offset(-1, 1).Formula
    End If
    End Sub
  • Schutz mit Passwort: Um den Blattschutz zu verstärken, kannst Du ein Passwort verwenden:

    ActiveSheet.Protect Password:="deinPasswort"

Tipps für Profis

  • Nutze benutzerdefinierte Makros: Erstelle benutzerdefinierte Makros für häufige Aufgaben, um die Effizienz zu steigern.

  • Regelmäßige Backups: Mache regelmäßige Sicherungen Deiner Excel-Dateien, besonders wenn Du mit Makros arbeitest, um Datenverluste zu vermeiden.

  • Dokumentation Deiner Makros: Halte eine Dokumentation für Deine Makros bereit, damit Du und andere Nutzer wissen, was sie tun.


FAQ: Häufige Fragen

1. Kann ich den Blattschutz nur für bestimmte Zellen aktivieren?
Ja, Du kannst Zellen auswählen, die nicht geschützt werden sollen, bevor Du den Blattschutz aktivierst.

2. Wie kann ich sicherstellen, dass alle Benutzer die Makros aktivieren?
Eine Möglichkeit ist, beim Öffnen der Datei eine Nachricht anzuzeigen, die darauf hinweist, dass Makros aktiviert werden müssen, um die Datei korrekt zu verwenden.

3. Gibt es eine Möglichkeit, den Blattschutz zu umgehen?
Ja, durch die Verwendung von Makros, die spezifische Zellen schützen, aber dennoch die Funktionalität erlauben.

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