Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

VBA-Code trotz Blattschutz?

Forumthread: VBA-Code trotz Blattschutz?

VBA-Code trotz Blattschutz?
24.02.2025 11:49:08
Gaby
Hallo Zusammen,

ich habe für unser kleines Unternehmen (20 Leute) eine Anwesenheitstabelle angelegt, diese musste ich leider mittels Blattschutz schützen, weil der eine oder andere
auf dumme Gedanken gekommen ist.
Nun ist eine MAin ausgeschieden, ich müsste jetzt für jedes Tabellenblatt, den Namen quasi manuell durchstreichen, .. gibt es hier, der Einfachheit halber, einen CODE, den man in VBA einkopieren kann, sodass ein bestimmter Name Bsw. Max Mustermann sodann durchgestrichen erscheint? Das wäre eine enorme Erleichterung.

Vielen Dank vorab und Grüße,
Gaby
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA-Code trotz Blattschutz?
24.02.2025 11:54:40
Onur
"Vielen Dank vorab und Grüße, " ? Wofür? Solange du keine Datei postest, kann sowieso keiner dafür einen Code schreiben. Wie soll das gehen?
AW: VBA-Code trotz Blattschutz?
24.02.2025 12:41:43
Marc
Die Frage ist ja,

warum sollte sie gelöscht werden,
aus Abrechungsgründen und zur rechtlichen Sicherheit, falls es Nachfragen gibt, sollte die MA weiterhin drin bleiben für einen Zeitraum von etwa 5 Jahren ...

Da wir deine Tabelle, deine Liste nicht können, können wir nur extrem mutmaßen, wie es aussehen soll.

Aber grundsätzlich würde ich ja 2 Tabellen (eventuell sogar 3) vorschlagen

eine offene Tabelle, wo alle aktiven Mitarbeiter sich auswählen und "abstempeln" können ihre Anwesenheit
und eine Tabelle "versteckt/geschützt" wo die Anwesenheiten gespeichert sind/werden..

So kann man die Anwesenheiten tagtäglich hinzufügen und Verwalten, hat alte Datenbestände gesichert und kann neue MA hinzufügen bzw alte Mitarbeiter aus der Aktivliste entfernen..

Oder das ganze natürlich mit einer Datenbank(Passwort gesichert) verknüpft.. dann wäre das ganze noch besser

Anzeige
AW: VBA-Code trotz Blattschutz?
24.02.2025 14:02:44
UweD
Hallo


meinst du das so?

Sub Durchstreichen()

Dim Person As String, TB As Worksheet, C As Range, firstaddress As String

Person = InputBox("Person, die ausgetragen werden soll", "Huhu", "Max Mustermann")
If Person > "" Then
For Each TB In ThisWorkbook.Sheets
TB.Protect UserInterfaceOnly:=True ' nur Änderungen per Makro sind möglich

'With TB.UsedRange 'Wenn in mehreren Spalten möglich
With TB.Columns(1) 'wenn nur in Spalte A

Set C = .Find(Person, LookIn:=xlValues)
If Not C Is Nothing Then
firstaddress = C.Address
Do
C.Font.Strikethrough = True
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address > firstaddress
End If
End With
Next
End If
End Sub



Code in ein Normales Modul und bei Bedarf aufrufen

LG UweD
Anzeige
AW: VBA-Code trotz Blattschutz?
24.02.2025 12:46:58
Gaby
Hallo,

ich kann die Datei leider aus Datenschutzgründen nicht veröffentlichen, wenn ich die Daten der Mitarbeiter verändern würde, dazu müsste ich ebenfalls in allen Tabellenblättern den Blattschutz aufheben, sodass ich in einem den Namen durchstreichen könnte ;-).

Es handelt sich bei der Tabelle lediglich um eine interne Liste, damit wir alle wissen, wann wer im Homeoffice und/oder in der Firma ist.
Wenn ich keinen Blattschutz mache, dann fummeln die Mitarbeiter in der Tabelle herum und verändern sie so, dass sie fehlerhaft ist.

Da beim Blattschutz die bedingte Formatierung ebenfalls nicht ausgewählt werden kann, dachte ich, es gibt einen code für alle vorhandenen Tabellenblätter,
in dem codiert, dass der Name "Max Mustermann" in allen Blättern durchgestrichen erscheint.

Aber, wenn das nicht möglich sein sollte, dann muss ich das wohl manuell machen :(.

Danke trotzdem für die Rückmeldungen.
Gaby
Anzeige
AW: VBA-Code trotz Blattschutz?
24.02.2025 13:01:55
ralf_b
VBA-Code wird nicht mit der Glaskugel erstellt, den passt man auf die Datei und deren Struktur an.
Eine Beispieldatei sollte für dich doch kein Problem sein. Datei kopieren und die Inhalte soweit einkürzen bzw. mit Dummydaten ersetzen wie nötig. fertig. Es müssen auch nicht alle Blätter enthalten ein, soweit sie identisch aufgebaut sind.
Durchstreichen ist für Datenverarbeitung eh ungünstig. Das ist nur für menschliche Augen gemacht.
Anzeige
AW: VBA-Code trotz Blattschutz?
24.02.2025 16:21:26
Marc
grundsätzlich sind solche "internen" tabellen eh meist unsinnig.
Entweder man macht eine offizielle Sache draus, dann richtig , aber nicht dieses na ja es ist nur so bisschen was, aber nicht so richtig...


per VBA kannst du natürlich Blattschutz aufheben oder wieder verbergen..

Aber dies "löschen" von Mitarbeitern ist kein guter Stil.. unsichtbar machen ja , aber nicht löschen
Anzeige
Sie will doch gar nicht löschen, sondern nur durchstreichen.
24.02.2025 17:47:34
UweD
LG
AW: VBA-Code trotz Blattschutz?
24.02.2025 15:00:07
GerdL
Moin Gaby,

noch ein Gedicht.
Sub Unit()


Const cstrSuch = "MAX MUSTERMANN" 'anpassen

Dim strErste As String, Zelle As Range, Blatt As Worksheet


For Each Blatt In Worksheets

Blatt.Unprotect Password:="Gaby" 'anpassen

Set Zelle = Blatt.Cells.Find(cstrSuch, LookIn:=xlValues, lookat:=xlPart, MatchCase:=False)

If Not Zelle Is Nothing Then
strErste = Zelle.Address
Do
Zelle.Font.Strikethrough = True
Set Zelle = Blatt.Cells.FindNext(Zelle)
Loop Until Zelle.Address = strErste
End If

Blatt.Protect Password:="Gaby" 'anpassen

Next Blatt


End Sub

Gruß Gerd
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18