Blattschutz aufheben ohne das es der User merkt
04.09.2003 13:37:42
Thorsten
Ich habe ein makro in dem ich im ersten blatt (blatt 1) in der spalte c12 eine zahl zwischen 1 und 50 eingebe.
Danach soll automatisch in Blatt 2 & 3 die dementsprechende anzahl von spalten ab der spalte Q eingeblendet werden. Der rest der spalten soll ausgeblendet werden. Klappt auch ganz gut (siehe unten).
Da in Blatt 2 & 3 allerdings einig formeln eingebaut sind, welche ich NICHT UNGESCHUETZT lassen moechte, habe ich nun folgendes problem:
der Blattschutz in Blatt 2 & 3 muesste waehrend der abfrageschleife AUTOMATISCH aufgehoben werden, OHNE dass allerdings ein passwort abgefragt wird.
Mein passwort, mit dem ich die blaetter geschuetzt habe, soll nicht an Dritte weitergeben werden !!! soll also heissen, dass der jeweilige user, nichts von dem vorgang mitkriegen soll.
Haenge schon seit einer woche an diesem problem, denn mit ?UNPROTECT / PROTECT? funktioniert es nicht nicht.
Wer von Euch kann mir helfen ??
Danke
Thorsten
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 3 And Target.Row = 12 Then 'position C12 in Blatt 1
Sheets("Blatt 2 ").Range("A:Dk").EntireColumn.Hidden = False
Sheets("Blatt 3 ").Range("A:Dk").EntireColumn.Hidden = False
'Spalten des jeweiligen Tabellenblattes oeffnen
Dim i As Integer
Endjahr = Sheets("Blatt 1").Cells(12, 3) 'c12 in Blatt 1
If Endjahr >= 1 And Endjahr <= 50 Then
MsgBox "Bitte warten."
For i = 18 To 115 'Spaltenindex Spalte Q bis DK
If Sheets("Blatt 2 ").Cells(2, i).Value >= Endjahr Then
Sheets("Blatt 2?").Columns(i + 1).EntireColumn.Hidden = True
End If
If Sheets("Blatt 3 ").Cells(2, i).Value >= Endjahr Then
Sheets("Blatt 3 ").Columns(i + 1).EntireColumn.Hidden = True
End If
Next i
Else
MsgBox "die zahl muss zwischen 1 und 50 (jahren) liegen"
End If
End If
End Sub