Anzeige
Archiv - Navigation
1764to1768
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
Inhaltsverzeichnis

Macros ausführen bei Blattschutz

Macros ausführen bei Blattschutz
16.06.2020 15:10:15
Johann
Hallo!
Ich habe eine Excel Arbeitsmappe mit 3 Tabellen mit einem Blattschutz versehen.
Einzelne Zellen sind, wie vorgesehen, weiterhin bearbeitbar. Nun habe ich einige Buttons auf der Seite, welche Macros ausführen. Die Macros springen beim Auswählen, Kopieren und Eingeben zwischen den Tabellen hin und her. Diese Macros sind nach Blattschutzeinrichtung nicht mehr ausführbar.

Wie kann ich es nun einrichten, dass die Macros weiterhin ausgeführt werden, auch wenn die Tabellenblätter mit Blattschutz versehen sind.

mit derartigen Codes habe ich es bereits probiert:
Private Sub Worksheet_Activate()
ActiveSheet.Protect password:="*****", Userinterfaceonly:=True
End Sub

Kann mir da eventuell jemand weiterhelfen?
Mit besten Grüßen
Johann Starnberg

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Macros ausführen bei Blattschutz
16.06.2020 15:16:31
Werner
Hallo,
sind denn alle Blätter mit einem Passwort geschützt?
Haben alle geschützten Blätter das gleiche Passwort?
Gruß Werner
AW: Macros ausführen bei Blattschutz
16.06.2020 15:28:10
Johann
sind denn alle Blätter mit einem Passwort geschützt?
Haben alle geschützten Blätter das gleiche Passwort?
Ja, alle Blätter sind geschützt und alle mit dem selben Passwort
AW: Macros ausführen bei Blattschutz
16.06.2020 17:55:52
Werner
Hallo,
dieses Makro ins Codemodul von "DieseArbeitsmappe".
Private Sub Workbook_Open()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Protect Password:="DeinPasswort", Userinterfaceonly:=True
Next ws
End Sub
Gruß Werner
Anzeige
AW: Macros ausführen bei Blattschutz
16.06.2020 17:57:04
Johann
Ok, besten Dank. Wird umgesetzt!
Gruß Starnberg
AW: Macros ausführen bei Blattschutz
16.06.2020 18:13:29
Johann
Nun habe ich das umgesetzt.
Die Macros auf dem jeweiligen Tabellenblatt funktionieren, sofern sie inhaltlich nur auf diesem operieren. Sobald ein Macro auf ein anderes Tabellenblatt zugreift, bekomme ich weiterhin die Fehlermeldung.
Wie also weiter?
AW: Macros ausführen bei Blattschutz
16.06.2020 21:49:11
Werner
Hallo,
natürlich geht das, siehe Beispielmappe.
https://www.herber.de/bbs/user/138347.xlsm
Alle Zellen auf den Blättern sind schreibgeschützt.
Klick den Button in Blatt1:
Das Makro schreibt jeweils ein Wort in die Zelle A1 von jedem Blatt.
Klick den Button in Blatt3:
In jedem Blatt wir die erste Zeile gelöscht.
Und mehr lässt sich dazu nicht sagen, da ich deine Datei und deine Makros nicht kenne.
Also lad mal deine Mappe hoch.
Gruß Werner
Anzeige
AW: Macros ausführen bei Blattschutz
17.06.2020 08:49:50
Johann
Es funktioniert nun alles bis auf ein Macro (Suche-Spezialfilter).
Der Spezialfilter greift vom Tabellenblatt "Verwaltung"(Kriterium und Ziel) auf das Tabellenblatt "Kundendaten" zu.
Ich hänge hier eine Beispieltabelle an.
Betroffen ist nur Tabellenblatt "Verwaltung" und "Kundendaten".
Das betroffene Macro "search3" wird über den Button "Suche" im Tabellenblatt "Verwaltung" ausgeführt.
das Passwort für den Blattschutz ist "3133"
Danke schonmal vorab und wünsche einen entspannten Tag :)
https://www.herber.de/bbs/user/138353.xlsm
Anzeige
AW: Macros ausführen bei Blattschutz
17.06.2020 14:54:22
Johann
Und hier nochmal seperat der Code, welcher bei aktiviertem Blattschutz nicht ausgeführt werden kann:
Sub search3()
' search3 Makro
Application.CutCopyMode = False
Application.CutCopyMode = False
Application.CutCopyMode = False
Application.CutCopyMode = False
Sheets("Kundendaten").Range("A1:AD500").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:AD2"), CopyToRange:=Range("A8:AD9"), Unique:=False
End Sub
Alle anderen Codes funktionieren, nachdem ich den vorgeschlagenen Code
Private Sub Workbook_Open()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Protect Password:="3133", Userinterfaceonly:=True
Next ws
End Sub
eingesetzt habe. Wieso der eine nicht?
Anzeige
echt jetzt?
17.06.2020 20:41:05
ralf_b
hätte 1 mal "Application.CutCopyMode = False" nicht auch gereicht? ;)
du nutzt recht häufig den Makrorecorder.
Sub Suchelos()
' Suchelos Makro
If WorksheetFunction.CountA(Worksheets("Verwaltung").Range("A2:AD2")) = 0 Then Exit Sub
Application.ScreenUpdating = False
Worksheets("Kundendaten").Unprotect Password:="3133"
Worksheets("Verwaltung").Unprotect Password:="3133"
Application.CutCopyMode = False
Sheets("Kundendaten").Range("A1:AD500").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Worksheets("Verwaltung").Range("A1:AD2"), CopyToRange:=Worksheets(" _
Verwaltung").Range("A8"), Unique:=False
Worksheets("Kundendaten").Protect Password:="3133", Userinterfaceonly:=True
Worksheets("Verwaltung").Protect Password:="3133", Userinterfaceonly:=True
Worksheets("Verwaltung").Activate
Application.ScreenUpdating = True
End Sub
der folgende Code ist das wie dein Code werden könnte. Gleiche Funktion, sehr viel übersichtlicher

Sub sucheloeschen()
' sucheloeschen Makro
Range("A2:AD2", "A10:AD50").ClearContents
With Range("A10:R20")
.Borders.LineStyle = xlNone
With .Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End With
End Sub

Anzeige
AW: echt jetzt?
18.06.2020 11:35:18
Johann
Hi,
erstmal besten Dank.
Es funktioniert einwandfrei!
Ich habe tatsächlich anfangs ausschließlich mit Macroaufzeichnung gearbeitet.
Seit vier Jahren habe ich nicht mehr an VBA gesessen. Finde mich langsam wieder rein. Arbeite sonst nur mit Javascript etc.
Also besten Dank und eine entspannte Woche!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige