Anzeige
Archiv - Navigation
304to308
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
304to308
304to308
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Blattschutz aufheben ohne das es der User merkt

Blattschutz aufheben ohne das es der User merkt
04.09.2003 13:37:42
Thorsten
Hallo.
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

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

Betreff
Datum
Anwender
Anzeige
AW: Blattschutz aufheben ohne das es der User merkt
04.09.2003 13:41:57
Galenzo
wieso sollte denn ActiveSheet.Unprotect ("meinPasswort") nicht gehn?
AW: Blattschutz aufheben ohne das es der User merk
04.09.2003 13:44:15
Thorsten
er fragt immer nach einem passwort.
ich moechte aber, dass kein passwort abgefragt wird, sondern alles automatisch
funktioniert.
AW: Blattschutz aufheben ohne das es der User merk
04.09.2003 13:55:40
Galenzo
schon klar - deswegen ActiveSheet.Unprotect ("meinPasswort")
AW: Blattschutz aufheben ohne das es der User merkt
04.09.2003 13:43:49
Matthias G
Hallo Thorsten,
Du kannst im VBA-Code das Passwort mit angeben:
ActiveSheet.Protect Password:="MeinPasswort"
bzw.
ActiveSheet.UnProtect Password:="MeinPasswort"

Den Code kannst du mit einem Kennwort schützen, damit ihn niemand einsehen kann.

Viele Grüße,
Matthias
AW: Blattschutz aufheben ohne das es der User merkt
04.09.2003 13:45:43
Frebert
Hallo Thorsten,

füge doch einfach vor deinen Schleifen folgendes ein:

application.screenupdate = false
Dein Worksheet.Unprotect Password:="Dein Passwort"

und am Ende folgendes:
Dein Worksheet.Protect Password:="Dein Passwort", DrawingObjects:=True, Contents:=True, Scenarios:=True
application.screenupdate = true

Und schütze dein VBA Projekt unter Eigenschaften mit einem Passwort, dann sieht Dein Passwort niemand.

Hoffe Dir weitergeholfen zu haben

mfg

da Frebert
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige