Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1888to1892
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

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

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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige