Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1600to1604
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
Passwort blockiert Makro
22.01.2018 08:14:14
Marco
Guten morgen ich habe ein kleines Problem mit meinem Passwortschutz.
Meine Blätter sind wie folgt geschützt:
Sub ON_OFF_BUTTON()
Dim Passwort As String
Dim wks As Worksheet
On Error GoTo ErrorHandler
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
For Each wks In Worksheets
With wks
If .ProtectContents Then
If Passwort = "" Then Passwort = Application.InputBox("Bitte Passwort eingeben!")
If Passwort = "test" Then
.Unprotect "test"
With .Shapes("Button")
.Left = wks.Shapes("Frame").Left + wks.Shapes("Frame").Width - .Width - 2
.Top = wks.Shapes("Frame").Top + 3
.TextFrame.Characters.Text = "OFF"
.Fill.ForeColor.RGB = RGB(255, 0, 0)
End With
Else
MsgBox "Passwort ist falsch!"
Exit Sub
End If
Else
.Protect userinterfaceonly:=True, Password:="test"
.EnableAutoFilter = True
.EnableOutlining = True
.EnableSelection = xlUnlockedCells
With .Shapes("Button")
.Left = wks.Shapes("Frame").Left + 2
.Top = wks.Shapes("Frame").Top + 3
.TextFrame.Characters.Text = "ON"
.Fill.ForeColor.RGB = RGB(0, 153, 0)
End With
End If
End With
Next
ErrorHandler:
DoEvents
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub
Wenn ich meine Mappe öffne werden die Inhalte sowie die Farben in den festgelegten Zellen mit folgendem Code gelöscht:
Public Sub StartLöschen()
Dim b As Range
Set b = Intersect(Sheets("blatt1").Range("13:51,60:137,146:196"), Sheets("blatt1").Range("I: _
K,M:O,Q:S,U:W"))
b.ClearContents
Union(b, b.Offset(, 1)).Interior.Pattern = xlNone
End Sub

Leider erhalte ich beim öffnen meiner Datei immer diese Meldung:
Anwendungs- oder Objektdefinierter Fehler in der Zeile
Union(b, b.Offset(, 1)).Interior.Pattern = xlNone
Wenn ich den Passwortschutz rausnehmen funktioniert es wieder ohne Probleme.
Kann mir da bitte jemand weiterhelfen?

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Passwort blockiert Makro
22.01.2018 10:07:27
Matthias
Moin!
Also wenn dein Passwort nur "test" ist, dann am Anfag deines Löschmakros entsperren:
bspw: sheets("blatt1").unprotect "test"
und am Ende des Code wieder sperren.
VG
Danke für die Hilfe
22.01.2018 11:20:42
Marco
Danke, ich hatte wo anders noch einen Fehler
AW: Passwort blockiert Makro
22.01.2018 12:05:33
Marco
Hallo Matthias ich bin es nochmal, weil es doch nicht ganz so funktioniert wie ich es mir gedacht habe.
Ich habe das Makro umgeschrieben bzw. den Schreibschutz rausgenommen und danach wieder hinzugefügt.
Public Sub StartLöschen()
Dim b As Range
Sheets("blatt1").Unprotect Password:="test"
Set b = Intersect(Sheets("blatt1").Range("13:51,60:137,146:196"), Sheets("blatt1").Range("I: _
K,M:O,Q:S,U:W"))
b.ClearContents
Union(b, b.Offset(, 1)).Interior.Pattern = xlNone
Sheets("blatt1").Protect userinterfaceonly:=True, Password:="test"
Sheets("blatt1").EnableAutoFilter = True
Sheets("blatt1").EnableOutlining = True
Sheets("blatt1").EnableSelection = xlUnlockedCells
End Sub

Aber anscheinend ist der Schreibschutz den ich wieder hinzugefügt habe ein anderer den ich mit dem hier unten aufgeführten Makro aktiviere:
Sub ON_OFF_BUTTON()
Dim Passwort As String
Dim wks As Worksheet
On Error GoTo ErrorHandler
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
For Each wks In Worksheets
With wks
If .ProtectContents Then
If Passwort = "" Then Passwort = Application.InputBox("Bitte Passwort eingeben!")
If Passwort = "test" Then
.Unprotect "test"
With .Shapes("Button")
.Left = wks.Shapes("Frame").Left + wks.Shapes("Frame").Width - .Width - 2        _
'Button verschieben / Hier anpassen!
.Top = wks.Shapes("Frame").Top + 3                                               _
'Button verschieben / Hier anpassen!
.TextFrame.Characters.Text = "OFF"                                               _
'Button Text / Hier anpassen!
.Fill.ForeColor.RGB = RGB(255, 0, 0)                                             _
'Farbe / Hier anpassen!
End With
Else
MsgBox "Passwort ist falsch!"
Exit Sub
End If
Else
.Protect userinterfaceonly:=True, Password:="test"
.EnableAutoFilter = True
.EnableOutlining = True
.EnableSelection = xlUnlockedCells
With .Shapes("Button")
.Left = wks.Shapes("Frame").Left + 2                                         _
'Button verhscieben / Hier anpassen!
.Top = wks.Shapes("Frame").Top + 3                                           _
'Button verschieben / Hier anpassen!
.TextFrame.Characters.Text = "ON"                                            _
'Button Text / Hier anpassen!
.Fill.ForeColor.RGB = RGB(0, 153, 0)                                         _
'Farbe / Hier anpassen!
End With
End If
End With
Next
ErrorHandler:
DoEvents
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
Sheets("blatt1").Activate
End Sub

Könntest du mir oder irgendjemand anders da bitte weiterhelfen?
Anzeige
AW: Passwort blockiert Makro
22.01.2018 15:05:13
Matthias
Was ist den an dem Schreibschutz anders? Der Code ist ja der selbe, also sollte der Schutz auch identisch sein. Weiß jetzt grad nicht genau, woran man genau helfen kann / soll. Was läuft den sonst nicht bzw. sollte anders laufen?
VG
Danke Matthias
23.01.2018 21:25:51
Marco
Der Fehler lag irgendwo anders. Ich habe einen alten Stand hergenommen und damit hat es dann funktioniert.

18 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige