Registriert seit: 31.12.2015
Version(en): 2015
31.12.2015, 11:56
(Dieser Beitrag wurde zuletzt bearbeitet: 02.01.2016, 15:59 von Rabe.
Bearbeitungsgrund: Schriftgröße normal! Kein maniueller Zeilenumbruch!
)
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.
Registriert seit: 12.04.2014
Version(en): Office 365
Hallo
Verwende "Überprüfen -> Änderungen -> Blatt schützen".
Wir sehen uns!
... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 31.12.2015
Version(en): 2015
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.
Registriert seit: 12.04.2014
Version(en): Office 365
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:
Wir sehen uns!
... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 12.04.2014
Version(en): Office 365
Hallo Ralf
Da kontere ich mit:
Code:
=INDEX(C:E;1;2)
=INDIREKT("D1")
:19:
Bei letzterem gibt es einen Laufzeitfehler.
Wir sehen uns!
... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 12.04.2014
Version(en): Office 365
[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)
Wir sehen uns!
... Detlef
Meine Beiträge können Ironie oder Sarkasmus enthalten.
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
: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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)