Code Workbook_Open wird nicht ausgeführt
22.06.2009 10:15:29
Thorsten
ich habe folgenden Code geschrieben (bzw. zusammen kopiert ... :o) )
Der Code funktioniert auch, aber nur wenn ich ihn selbst aus dem VB-Editor starte. Er soll aber eigentlich beim Öffnen der Datei ausgeführt werden.
Der Code liegt natürlich auf "DieseArbeitsmappe".
Kurz gesagt soll der Code Zugriffsrechte je nach eingeloggtem Windows-User vergeben. Dazu wird einfach der Blattschutz an entsprechenden Stellen gesetzt. Es ist nur eine kleine Hilfe um versehentliche Einträge zu verhindern und daher nicht durch Passwörter etc. geschützt.
Die Frage: Wieso funktioniert das ganze nicht sofort, wenn ich die Datei aufmache? Wieso muss ich den Code erst manuel ausführen?
Wahrscheinlich irgendwo ein Formatfehler oder die Funktion Workbook_Open falsch angezogen.
Vielen Dank im Voraus!
Gruss
Thorsten
Private Sub Workbook_Open()
Dim user, rechte As String, i As Integer
user = Environ("UserName")
With Worksheets("Zuständigkeiten")
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 3).Value = user Then
If Cells(i, 4).Value = "ADMIN" Then
Call Schutz_auflösen
Exit Sub
End If
rechte = Cells(i, 4)
With Worksheets("Liste")
Range(rechte).Locked = False
Range("INFO").Locked = False
End With
End If
Next i
End With
With Worksheets("Liste")
.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True
End With
End Sub
Private Sub Schutz_auflösen()
With Worksheets("Liste")
.Unprotect
.Cells.Locked = True
End With
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call Schutz_auflösen
End Sub