Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1684to1688
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

Löschen von Zellen,Spalten,Inhalten verunmöglichen

Löschen von Zellen,Spalten,Inhalten verunmöglichen
29.03.2019 09:36:57
Zellen,Spalten,Inhalten
Guten Tag zusammen,
ich habe einen Code der alle Benutzer die in der Datei arbeiten und dies speichern mit Benutzername, Datum und Uhrzeit protokolliert.
Nun möchte ich aber dass wenn ein User speichert und der Code in die nächste Zeile dies protokolliert dass man dann diesen Eintrag nicht mehr löschen kann.
Sprich das Löschen von Zeilen, Zellen, Spalten und Inhalt der Spalten A:A, B:B, C:C soll verhindert werden.
So sieht mein bisheriger Code aus:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("Protokoll").Visible = True
With Sheets("Protokoll")
.Cells(.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).Value = Environ("Username")
.Cells(.Cells(Rows.Count, 2).End(xlUp).Row + 1, 2).Value = Date
.Cells(.Cells(Rows.Count, 3).End(xlUp).Row + 1, 3).Value = Time
End With
End Sub

Nun wäre meine Frage welchen Zusatzcode muss ich in diesem Code einfügen, sodass die Löschung der Einträge in den genannten Bereichen verunmöglicht wird?
Danke für die Tipps.
VG
Memo

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Löschen von Zellen,Spalten,Inhalten verunmöglichen
29.03.2019 09:48:57
Zellen,Spalten,Inhalten
Hallo,
bescheidene Frage: Warum läßt du das Blatt nicht einfach ausgeblendet?
Gruß Werner
Löschen von Zellen,Spalten,Inhalten verunmöglichen
29.03.2019 09:52:52
Zellen,Spalten,Inhalten
Hi Werner,
weil jeder Excel user einfach das Blatt oder irgendeinblatt einblenden kann.
Und wenn ich das Blatt durch VBA Code verstecke sodass nur für mich sichtbar dann erscheint es wieder sobald man die Datei speichert.
Habe auch als erstes an das Ausblenden gedacht, aber jeder Excel Anfänger kann es einblenden.
Memo
AW: Löschen von Zellen,Spalten,Inhalten verunmöglichen
29.03.2019 09:59:16
Zellen,Spalten,Inhalten
Hi Memo,
wenn du das Blatt per VBA ausblendest, dann kann das keiner mehr einblenden wenn du das nicht willst!
Kannst es ja per Passwort schützen!
LG
Alexandra
Anzeige
AW: Löschen von Zellen,Spalten,Inhalten verunmöglichen
29.03.2019 10:09:05
Zellen,Spalten,Inhalten
Richtig, schau mal in die Eigenschaften des Tabellenblatts im Makro Editor. Unter Visible hast du auch die Auswahl 2 - xlSheetVeryHidden. Dann kann man es nicht mehr unter der Excel Oberfläche einblenden, man sieht es nicht mal in der Liste der Blätter. Und den Zugang zum Code kannst du ja wie Alexandra sagt per Passwort schützen.
Grüße
Daniel
Löschen von Zellen,Spalten,Inhalten verunmöglichen
29.03.2019 10:18:49
Zellen,Spalten,Inhalten
Hi Alexandra, Hi Daniel,
ich habe das Arbeitsblatt "Protokoll" auch mit VBA versteckt und dem Code auch eine Tastenkombi zugewiesen.
Während das Arbeitsblatt versteckt ist und ich speicher dann plopt das Arbeitsblatt wieder auf :) und verschwindet auch nicht wieder.
Also das mit VBA verstecken funktioniert bis man auf speichern klickt..dann erscheint es wieder.
Das Arbeitsblatt kann ruhig sichtbar sein, wenn das mit dem verstecken via VBA nicht ganz funktioniert. Jedoch sollte dann kein User auf die Idee kommen die bereits gespeicherten Usernamen und datum und Zeiten zu löschen.
VG
Memo
Anzeige
Löschen von Zellen,Spalten,Inhalten verunmöglichen
29.03.2019 10:22:05
Zellen,Spalten,Inhalten
Servus Memo,
wie in diesem Thread bereits geschrieben musst du das Blatt auch wieder ausblenden:
https://www.herber.de/cgi-bin/callthread.pl?index=1679234

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheets("Protokoll").Visible = True
With Sheets("Protokoll")
.Cells(.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).Value = Environ("Username")
.Cells(.Cells(Rows.Count, 2).End(xlUp).Row + 1, 2).Value = Date
.Cells(.Cells(Rows.Count, 3).End(xlUp).Row + 1, 3).Value = Time
End With
Sheets("Protokoll").Visible = xlVeryHidden
End Sub
Grüße, Bernd
Anzeige
Löschen von Zellen,Spalten,Inhalten verunmöglichen
29.03.2019 10:30:38
Zellen,Spalten,Inhalten
Hi Bernd,
ja sorry mein Fehler..hatte den Absatz nicht im Code.
Jetzt funktionierts auch.
Danke an alle.
VG
Memo
AW
29.03.2019 10:23:12
Marco
Hallo Memo,
auch mein Tipp wäre es so wie schon hier geschrieben per Verstecken zu lösen.
Ich löse es z.B. in der Art (Natürlich solltest Du den VBA-Code noch per Passwort schützen).
Wenn jemand wirklich etwas ändern will dann gibt es leider in Excel immer einen Weg.
Alternativ könntest Du natürlich Deine Logs in eine andere XLS-Datei schreiben lassen auf die nur Du Zugriff hast.
VG
Marco
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Worksheets("history").Visible = xlSheetVeryHidden
End Sub

Private Sub Workbook_Open()
Dim angemeldeterUser As String
angemeldeterUser = Environ("USERNAME")
If angemeldeterUser = "DeinUser" Then
ThisWorkbook.Worksheets("history").Visible = xlSheetVisible
Else
ThisWorkbook.Worksheets("history").Visible = xlSheetVeryHidden
End If
End Sub

Anzeige

319 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige