Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Eigenschaft zu Tabellenblatt hinzufügen

Forumthread: Eigenschaft zu Tabellenblatt hinzufügen

Eigenschaft zu Tabellenblatt hinzufügen
13.07.2022 11:39:22
Laserhannes
Hallo,
ich möchte folgendes gerne umsetzen. In meiner Datei soll für jede Kalenderwoche auf Basis eines Musterarbeitsblattes ein neues Arbeitsblatt erstellt werden, wenn die Kalenderwoche erreicht wurde. Für jede Kalenderwoche, welche ich fertig bearbeitet habe kann in ein aus Designgründen selbsterstelltes Kontrollkästchen bzw. auf eine Form geklickt werden die ein Sub auslöst und eine neue Form erscheint. Jetzt möchte ich irgendwie dem Arbeitsblatt eine Eigenschaft hinzufügen, die angibt, dass die Woche fertig bearbeitet wurde. Jedes mal, wenn ich Excel öffne soll mir dann jede nicht fertige Woche in der Vergangenheit in einer Messagebox angezeigt werden. Wie bekomme ich das am besten hin?
Ich habe schon überlegt ein eigenes Klassenmodul dafür zu bauen, bin da aber zu blöd zu. Das größte Problem sind die neu zu erstellenden Arbeitsblätter, wenn eine neue Woche anbricht. Da der Code aus dem Musterarbeitsblatt mit kopiert wird, würde ich an liebsten in diesem Code einen variablen Variablennamen haben, welcher immer den Namen des Arbeitsblattes trägt, in welchem der Code steht.
Hat jemand einen Vorschlag das umzusetzen oder eine andere viel bessere Idee?
Beispieldatei findet ihr hier: https://www.herber.de/bbs/user/154121.xlsm
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Eigenschaft zu Tabellenblatt hinzufügen
13.07.2022 16:10:16
UweD
Hallo
Eigenschaft: Du könntest doch prüfen, ob der "Grüne oder Rote Haken sichtbar" ist.

Private Sub Workbook_Open()
Dim TB As Worksheet
If Worksheets.Count = 1 Then
Sheets("Muster Kalenderwoche").Copy Before:=Sheets(1)
Sheets(1).Name = "KW " & Evaluate("=ISOWEEKNUM(TODAY())")
ActiveSheet.Unprotect
Sheets(1).Range("B1").Value = Year(Date)
Sheets(1).Range("E1").Value = Evaluate("=ISOWEEKNUM(TODAY())")
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
:=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
AllowDeletingRows:=True, AllowUsingPivotTables:=True
End If
If Not Worksheets(1).Name = "KW " & Evaluate("=ISOWEEKNUM(TODAY())") Then
Do
Sheets("Muster Kalenderwoche").Copy Before:=Sheets(1)
Sheets(1).Name = "KW " & Sheets(2).Range("E1").Value + 1
ActiveSheet.Unprotect
Sheets(1).Range("B1").Value = Year(Date)
Sheets(1).Range("E1").Value = Sheets(2).Range("E1").Value + 1
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowInsertingColumns:=True, AllowInsertingRows _
:=True, AllowInsertingHyperlinks:=True, AllowDeletingColumns:=True, _
AllowDeletingRows:=True, AllowUsingPivotTables:=True
Loop Until Sheets(1).Range("E1").Value = Evaluate("=ISOWEEKNUM(TODAY())")
End If
'Prüfen ob fertig
For Each TB In ThisWorkbook.Sheets
If TB.Shapes("Nicht fertig").Visible Then
MsgBox TB.Name & ": noch nicht fertig"
End If
Next
End Sub

Anzeige
AW: Eigenschaft zu Tabellenblatt hinzufügen
13.07.2022 21:28:57
Laserhannes
Ok das ist natürlich einfach. Da hätte ich auch selbst draufkommen können. Danke :)
Danke für die Rückmeldung (owT)
14.07.2022 08:12:23
UweD
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige