Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1680to1684
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
Inhaltsverzeichnis

Arbeitsblatt Ansicht verhindern

Arbeitsblatt Ansicht verhindern
28.03.2019 10:19:20
Memo
Hallo zusammen,
leider bin ich bei meiner Suche nach einer Lösung meines Problems nicht fündig geworden.
Ich möchte aus einer Excel Arbeitsmappe die Ansicht, das Kopieren, verschieben, löschen oder ähnliches eines bestimmten Arbeitsblattes verhindern ohne es verstecken,einblenden oder sperren zu müssen.
Durch Blattschutz komme ich leider nicht an mein Ziel.
Gibt es in VBA eine Lösung dafür, welches bei Tastenkombination die Ansichtssperre aus und eingeschaltet werden kann?
Danke für Eure Vorschläge.
VG
Memo

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arbeitsblatt Ansicht verhindern
28.03.2019 10:45:16
Daniel
Hallo Memo,
diesen Code ins Modul:
Sub Verstecken()
With Sheets("Tabelle1") 'Anpassen
If .Visible = True Then
.Visible = xlVeryHidden
Else
.Visible = True
End If
End With
End Sub
Dann unter Makros das Makro auswählen und unter Optionen eine Tastenkombination zur Ausführung definieren.
Grüße
Daniel
AW: Arbeitsblatt Ansicht verhindern
28.03.2019 10:57:03
Memo
Super Geil.
Danke, genau das was ich gesucht habe.
LebWohl
Memo
AW: Arbeitsblatt Ansicht verhindern
28.03.2019 11:04:46
Bernd
Servus Memo,
da werd einer mal draus schlau:
1. "...verhindern ohne es verstecken,einblenden oder sperren zu müssen..."
2.

Sub Verstecken()

3. "Super Geil. Danke, genau das was ich gesucht habe."
;-)
Grüße, Bernd
Anzeige
AW: Arbeitsblatt Ansicht verhindern
28.03.2019 11:45:09
Memo
Hi Bernd,
für mich als VBA Neuling hat mich diese Lösung zufriedengestellt, da man es bequem mit Tastenkombi ein und ausblenden kann.
Ich möchte es nur verhindern dass ein anderer es verändern,verschieben,Kopieren,löschen kann...und das kann ich durch einblenden erreichen, besser wäre es natürlich die Ansicht zu sperren ohne es verstecken/ausblenden zu müssen.
Geht es eigentlich in VBA sodass man nicht in das Arbeitsblatt rein schauen kann. Also da ist es, man kann es auch sehen, aber beim klick drauf soll nichts passieren und nicht reinschauen können.
Hast du da eine Idee bzw. gibt es in VBA dazu eine Lösung?
VG
Memo
Anzeige
AW: Arbeitsblatt Ansicht verhindern
28.03.2019 12:18:02
Bernd
Servus Memo,
teste mal (in den Codebereich des zu schützenden Arbeitsblattes).

Private Sub Worksheet_Activate()
If Environ("Username")  "Dein Name" Then
If ActiveSheet.Index  ThisWorkbook.Worksheets.Count Then
Sheets(ActiveSheet.Index + 1).Activate
Else
Sheets(ActiveSheet.Index - 1).Activate
End If
End If
End Sub
Grüße, Bernd
AW: Arbeitsblatt Ansicht verhindern
28.03.2019 12:57:21
Memo
Hi,
hab mein Username eingetragen, Name ist auch mein Username.
If Environ("M0100") "M0100" Then...
Es funktioniert glaube ich, aber für mich soll es ja sichtbar sein, ist es aber nicht. Wenn ich draufklicke dann springt er nicht rein und ich kann es nicht sehen.
Und das Löschen des Arbeitsblattes soll auch verunmöglicht sein.
Kann man durch Tastenkombi das aktivieren und deaktivieren des Codes und somit auch die Ansichtsperre beeinflussen?
VG
Memo
Anzeige
AW: Arbeitsblatt Ansicht verhindern
28.03.2019 13:28:00
Bernd
Servus Memo,
"Environ("Username")" muss wie dargestellt stehen bleiben.
Grüße, Bernd
AW: Arbeitsblatt Ansicht verhindern
28.03.2019 13:59:44
Memo
Hi Bernd,
wie kann ich diese beide Codes eigentlich in/für einen Arbeitsblatt kombinieren?
Ich tu beide in den Codebereich des zu schützenden Arbeitsblatts, aber sobald ein ich speicher dann erscheint der Arbeitsblatt :), was ja nicht erscheinen sollte?
Private Sub Workbook_Open()
'wenn Benutzername "Dein Name" dann:
If Application.UserName = "M0100" Then
MsgBox Sheets("Data").Range("A2") & " war der letzte Nutzer" & vbLf & _
Sheets("Data").Range("B2") & " war der Anmeldename" & vbLf & _
Sheets("Data").Range("C2") & " war das Änderungsdatum"
End If
End Sub

Private Sub Worksheet_Activate()
If Environ("Username")  "M0100" Then
If ActiveSheet.Index  ThisWorkbook.Worksheets.Count Then
Sheets(ActiveSheet.Index + 1).Activate
Else
Sheets(ActiveSheet.Index - 1).Activate
End If
End If
End Sub

Gruß
Memo
Anzeige
AW: Arbeitsblatt Ansicht verhindern
28.03.2019 14:13:57
Bernd
Servus Memo,
Vorsicht, achte auf den Namen der Subs:
Private Sub Workbook_Open()

=> in der Regel im Codebereich "Diese Arbeitsmappe"
Private Sub Worksheet_Activate()

=> idR im Codebereich eines spezifischen Tabellenblattes
Die beiden Codes zu kombinieren würde in dieser Darstellung wenig Sinn ergeben.
Der Erste ("Workbook...") zeigt dir (und nur dir) an, wer zuletzt in der Mappe gearbeitet hat.
Zumindest interpretiere ich den Text deiner Messagebox so.
Der Zweite ("Worksheet...") verhindert jedem Nutzer ausser dir den Zugriff auf eine bestimmte Tabelle in der Datei.
Welchen Vorteil versprichst du dir aus einer Kombination der beiden?
Grüße, Bernd
Grüße, Bernd
Anzeige
AW: Arbeitsblatt Ansicht verhindern
28.03.2019 14:26:21
Memo
Hi,
ich will halt mit der Kombination dafür sorgen, dass man nur ich den Arbeitsblatt bei Bedarf (Tastenkombi) sehen kann, und dass in dieser alle User gespeichert werden die auf die Datei zugegriffen haben und gespeichert haben.
VG
Memo
AW: Arbeitsblatt Ansicht verhindern
28.03.2019 15:01:27
Bernd
Servus Memo,
dann bleib besser bei der Lösung von Daniel am Anfang.
Die bestehenden Codes "Workbook_Open" mit "Worksheet_Activate" zu verbinden macht keinen Sinn.
Grüße, Bernd
AW: Arbeitsblatt Ansicht verhindern
28.03.2019 15:19:30
Memo
Hi,
gut dann werde ich es so machen.
Dein Code hat mir auch zugesagt, verwende es in einer anderen Datei.
Danke für die genommene Zeit und Geduld.
Pfiatdi
Memo
Anzeige
AW: Arbeitsblatt Ansicht verhindern
28.03.2019 13:45:27
Memo
Super, funktioniert einwandfrei.
Danke für die prompte Rückmeldung.
VG
Memo

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige