Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
956to960
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
956to960
956to960
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Pro Tabelle bestimmte Variablen verwalten

Pro Tabelle bestimmte Variablen verwalten
07.03.2008 21:54:00
Peter
Guten Abend
Mit nachfolgendem Code färbe ich alle Register rot ein, wenn range("Check") nicht NULL ist. Andernfalls wird die Farbe wieder eliminiert.
Nun möchte ich die Farbe bei den einzelnen Registern nur eliminieren, wenn ursprünglich keine Farbe hinterlegt war. Wenn ein Register jedoch beispielsweise blau war, soll, wenn range("Check") wieder NULL ist, auch das Register wieder blau sein.
Als Lösungsansatz habe ich mir überlegt, für jede Tabelle eine Variable zu definieren (wahrscheinlich in der entsprechenden Tabelle, damit nach Schliessen / Oeffnen die Information noch vorhanden ist) und dieser den für diese Tabelle standardmässig gültige Colorindex zuzuweisen.
Wie "verwalte" ich diese Colorwerte für die einzelnen Tabellen am sinnvollsten?
Danke für eine Rückmeldung.
Peter

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Dim i As Integer
ThisWorkbook.Activate
If Range("check")  0 Then
For i = 1 To ActiveWorkbook.Worksheets.Count
Worksheets(i).Tab.ColorIndex = 3  ' = rot
Next i
Else
For i = 1 To ActiveWorkbook.Worksheets.Count
Worksheets(i).Tab.ColorIndex = -4142  ' = keine Farbe
Next i
End If
End Sub


1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pro Tabelle bestimmte Variablen verwalten
07.03.2008 22:52:00
Daniel
Hi
damit die Farbinformation der Register beim Schließen nicht verloren geht, solltest du sie schon in einer Zelle auf dem jeweiligen Tabellenblatt speichern.
am besten natürlich immer in der gleichen Zelle (im Beispiel nehme ich die Zelle A1 (Cells(1,1)):

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Dim i As Integer
ThisWorkbook.Activate
If Range("check")  0 Then
For i = 1 To ActiveWorkbook.Worksheets.Count
worksheets(i).Cells(1,1).value = worksheets(i).tab.colorindex
Worksheets(i).Tab.ColorIndex = 3  ' = rot
Next i
Else
For i = 1 To ActiveWorkbook.Worksheets.Count
if worksheets(i).cells(1,1).value = "" then
Worksheets(i).Tab.ColorIndex = -4142  ' = keine Farbe
else
Worksheets(i).Tab.ColorIndex = worksheets(i).cells(1,1).value
end if
Next i
End If
End Sub


Gruß, Daniel

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige