Userform-Bedingung mit / ohne Blattschutz

Informationen und Beispiele zu den hier genannten Dialog-Elementen:


Excel-Version: Alle Versionen
nach unten

Betrifft: Userform-Bedingung mit / ohne Blattschutz
von: Martin
Geschrieben am: 17.05.2002 - 08:34:12

Guten Morgen,

habe gestern schon das Problem gepostet und dachte es sei gegessen, habe mich aber leider getäuscht.

Problem: Wie ist es möglich in einer Userform die Checkboxen zu schützen, wenn das aktive Arbeitsblatt ebenfalls geschützt ist und diese zu entsperren, wenn das Arbeitsblatt ebenso entsperrt ist?

Mein Makro (das aus irgendwelchen Gründen nicht funktioniert) sieht folgendermaßen aus:

Private Sub UserForm_Activate()
Sheets("T1").Select
If Worksheets("T1").Protect = True Then
CB1.Locked = True
CB2.Locked = True
CB3.Locked = True
CB4.Locked = True
CB5.Locked = True
ElseIf Worksheets("T1").Unprotect = True Then
CB1.Locked = False
CB2.Locked = False
CB3.Locked = False
CB4.Locked = False
CB5.Locked = False
End If
End Sub

ich habe es auf verschiedene Art und Weise probiert, mit und ohne den ELSEIF Teil usw. aber es hat nicht hingehauen.

Gruss,
Martin


nach oben   nach unten

Re: Userform-Bedingung mit / ohne Blattschutz
von: Andreas
Geschrieben am: 17.05.2002 - 09:55:31

Hallo Martin,

versuch es mal so:

Private Sub UserForm_Initialize()
On Error GoTo ErrorHandler
    With Worksheets("T1").Columns(1)
        .ColumnWidth = .ColumnWidth
    End With
        CB1.Locked = False
        CB2.Locked = False
        CB3.Locked = False
        CB4.Locked = False
        CB5.Locked = False
Exit Sub
ErrorHandler:
    CB1.Locked = True
    CB2.Locked = True
    CB3.Locked = True
    CB4.Locked = True
    CB5.Locked = True
End Sub

Dein Makro liefert immer gesperrte Checkboxen, da Du ja das Worksheet mit .Protect immer schützt!
Viel Spaß,
Andreas

nach oben   nach unten

Re: Userform-Bedingung mit / ohne Blattschutz
von: Martin
Geschrieben am: 17.05.2002 - 11:00:49

Hallo Andreas,

ich verstehe zwar nicht warum, aber es funktioniert. Werde das mal in Ruhe durchgehen. Darauf wäre ich nie gekommen; es fehlt mir halt doch noch eine ganze Menge zum Programmieren.

Vielen Dank und ein schönes Wochenende
Gruss,
Martin


nach oben   nach unten

Re: Userform-Bedingung mit / ohne Blattschutz
von: Andreas
Geschrieben am: 17.05.2002 - 11:14:10

Hallo Martin,

kurze Erklärung?
Also
On Error GoTo ErrorHandler
besagt, dass wenn ein Fehler auftritt, zum ErrorHandler gesprungen werden soll!

With Worksheets("T1").Columns(1)
.ColumnWidth = .ColumnWidth
End With
So hier soll die Spaltenbreite der Spalte A des Tabellenblattes gesetzt werden. Dieser befehl ergibt ja eigentlich keinen Sinn, denn die Breite die gesetzt wird, ist ja die Breite die die Spalte schon hat. ABER, ist das Blatt geschützt, so kann man die Spaltenbreite nicht verändern, es tritt also ein Fehler auf. Daher wird dann zum ErrorHandler gesprungen (dort werden die CB gesperrt), sonst wird der Code normal ausgeführt, also die CB werden nicht gesperrt!

Andreas


nach oben   nach unten

Danke für die Erläuterung!
von: Martin
Geschrieben am: 17.05.2002 - 12:31:40

so einfach wie logisch

Martin


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Userform-Bedingung mit / ohne Blattschutz"