Clever-Excel-Forum

Normale Version: einblenden von Spalten mit Passwort verhindern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Forum,

Ich habe eine Excel-Tabelle mit verschiedenen Daten, mit denen mehrere Benutzer arbeiten sollen. Nun möchte ich 2 Spalten ausblenden, da diese Umsatzzahlen enthalten und diese nicht für alle User sichtbar sein dürfen.

Nach dem Ausblenden sollen diese 2 Spalten nur mit Kennwort wieder eingeblendet werden können, alle anderen Spalten sollen frei bearbeitbar sein.
Die Lösung mit Blattschutz ist hier aber nicht zu verwenden.

Vielen Dank schon mal im voraus.
Hallo

Verwende "Überprüfen -> Änderungen -> Blatt schützen".
Hallo!
Auf die Gefahr hin, Dich zu enttäuschen:
Vergiss es!

ALLES was in einer Mappe gespeichert ist, ist auch für unbedarfte User mit wenig Aufwand sichtbar zu machen.

Sensible Daten haben also nichts dort zu suchen.

Vielleicht schreibst Du aber mal, warum Du meinst, sie dort "verstecken" zu müssen.
Denn wenn andere Formeln darauf zugreifen (müssen), dann kann man doch problemlos zurückrechnen.

Gruß Ralf
Blatt schützen reicht wie gesagt nicht.

Es handelt sich dabei um Spalten mit EK-Preisen und Gewinn.
Die Mitarbeiter sollen auf die Datei zugreifen können, aber die Spalten nicht sehen können.
Zitat:Denn wenn andere Formeln darauf zugreifen (müssen), dann kann man doch problemlos zurückrechnen.
Es geht noch einfacher. Wenn die Daten in Spalte D stehen, dann an eine beliebige Stelle im Tabellenblatt:
Code:
=D1
Hi!
Das =D1 kann man ja noch abfangen:
Zitat:Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Precedents.Column = 4 Then
   With Application
      .EnableEvents = False
      .Undo
      .EnableEvents = True
      MsgBox "Du Schlingel!"
   End With
End If
End Sub

Ändert aber nichts von meiner obigen Einstellung.

Gruß Ralf
Hallo Ralf

Da kontere ich mit:
Code:
=INDEX(C:E;1;2)
=INDIREKT("D1")
:19:
Bei letzterem gibt es einen Laufzeitfehler.
Hi Detlef!
:19:
Schon klar!
(hatte ich beides auch bereits festgestellt ...)

War aber auch nur eine Replik auf Dein =D1  :05:
(und so ein Event-Makro kann man ja beliebig aufblasen, Fehlerbehandlung und Abfrage des Bereichs eingeschlossen)

So nach dem Motto:

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Ende
With Target.Precedents
   If .Column <= 4 And .Column + .Columns.Count >= 4 Then Call AktionZurueck
End With
Ende:
If InStr(Target.Formula, "=INDIRECT(") > 0 Then Call AktionZurueck
On Error GoTo 0
End Sub

Private Sub AktionZurueck()
   With Application
      .EnableEvents = False
      .Undo
      .EnableEvents = True
      MsgBox "Du Schlingel!"
   End With
End Sub

Jetzt kannst Du nochmal Deinen Index oder Dein Indirekt probieren …  :21:


Gruß Ralf
[url=
Dateiupload bitte im Forum! So geht es: Klick mich!
]

Einen habe ich noch.
Code:
=BEREICH.VERSCHIEBEN(A1;;3)

Dein Code verbietet aber auch erlaubte Formeln, z.B. auf Zelle E1. Das soll natürlich nicht passieren.
Code:
=INDIREKT("E1")
=INDEX(A:Z;1;5)
:21: :21: :21:
Ich nehme die Herausforderung an!
Aber erst nächstes Jahr!
Sonst kommt gleich wieder die telefonische Nachfrage:
Zitat:Na, mal wieder mit dem Computer liiert?
Aber als Appetizer:
Code:
If InStr(Target.Formula, "=INDIRECT(""D") > 0 Then Call AktionZurueck

Bis nächstes Jahr!  :19:
Ralf
Seiten: 1 2