Anzeige
Archiv - Navigation
1284to1288
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

Div Tab-Register einfärben je nach Zellinhalt

Div Tab-Register einfärben je nach Zellinhalt
06.11.2012 21:11:08
Werner
Hallo Excel-Freunde
jetzt suche ich seit geraumer Zeit nach einer Möglichkeit,
die Tabellen-Register automatisch einzufärben (Ampel-Schaltung)
- je nachdem, was in dem jeweiligen Tabellenblatt in einer bestimmten Zelle steht -
Hintergrund:
In einem Tabellenblatt "ToDo-Liste" werden verschiedenen Aufgaben erfasst,
und jeweils in einer Spalte die Aufgaben mittels einer Ampel-Schaltung
Grün - Prima / Gelb - Beobachten / Rot - Kritisch
in einer Spalte jeweils beurteilt.
Da die Anzahl der Aufgaben sehr umfangreich sind, habe ich für jede
einzelne Aufgabe jeweils mittels Formel ein separates Blatt als "Übersichtsblatt"
aller wichtigen Informationen erstellt.
In diesen Blättern steht IMMER in der Zelle C3 (auf Basis der Inhalte der Todo-Liste)
ein Text - Prima / Beobachten / Kritisch
Diese Zelle wird mittels bedingter Formatierung jeweils in Grün/Gelb/Rot oder Neutral (wenn kein Status vorhanden ist) formatiert !
Da es sehr viele einzelne Tabs sind (größer 70 !) soll nun das jeweilige Registerblatt
jeweils genau so farblich eingefärbt werden, wie es in der in der Zelle C3 formatiert
ist.
Also wenn in Zelle C3 steht:
"Prima" - wird die Zelle C3 in Grün formatiert
"Beobachten" - in Gelb
"Kritisch" - in Rot
ohne Inhalt - Normalformatierung
Die Veränderung der Zellinhalte dieser größer 70 Register sind also abhängig
von der Erfassungen in der "Quell"-Tabelle "Todo"
Jetzt soll bei jeder Änderung in der Tabelle "Todo" - es wird ja jetzt
sofort per Formel in der jeweiligen Tabelle die Zelle C3 geändert -
automatisch das jeweilige Tab-Register entsprechend des Textes in Zelle
C3 angepasst werden.
Ich hoffe, daß ich mein Thema einigermaßen verständlich formulieren konnte ;)
Ich kann die Datei leider nicht hochladen - größer 3 MB
Kurz-Zusammenfassung:
Steht in der Zelle C3 eines jeweiligen Registers der Text
"Prima" - Grün
"Beobachten" - Gelb
"Kritisch" - Rot
ohne Inhalt - Normalformatierung
soll das jeweilige Register entsprechend farblich markiert werden !
egal ob es 10 oder 100 Tabellen in einer Datei sind !
Freu mich auf einen Tip von Euch ;)
Besten Gruß
Werner

22
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Rückfrage: ....
07.11.2012 00:01:39
Matze,Matthias
Hallo Werner,
..ich benötige eine Kurzinfo zu den Blattnamen, liegen die in einer bestimmten Reihen folge vor?
Wäre gut, ZB.: von Blatt2 bis letztes Blatt , dann die TodoListe auf jedenfall nach vorne bringen als erstes Blatt. Neue Blätter werden immer hinten angestellt, somit würde auch der Code wieder das "letzte Blatt" erkennen.
Matze

AW: Rückfrage: ....
07.11.2012 07:14:28
Werner
Hallo und guten Morgen Matze
die einzufärbenden Tabs sind (ganz einfach) durchnumeriert
von 1 bis 100 - also reine Zahlen.
Das macht die einzelnen Reiter übersichtlich :)
Das erste Blatt die die Todo-Liste, danach erscheinen alle anderen Sheets !
Gruß
Werner

Anzeige
AW: Div Tab-Register einfärben je nach Zellinhalt
07.11.2012 00:21:11
Matze,Matthias
Nochmal Hallo,
... was auch gut wäre , wenn Jedes einzufärbende Blatt einen Namensteil hat der bei Jeden dieser Blätter "gleich" ist. Z.B.: Kosten 1, Kosten 2, ....

AW: Div Tab-Register einfärben je nach Zellinhalt
07.11.2012 00:21:15
Matze,Matthias
Nochmal Hallo,
... was auch gut wäre , wenn Jedes einzufärbende Blatt einen Namensteil hat der bei Jeden dieser Blätter "gleich" ist. Z.B.: Kosten 1, Kosten 2, ....

@Matthias-kleine Korrektur wg.Tabelle5
07.11.2012 11:25:47
robert
With ActiveWorkbook.Worksheets(ActiveCell.Offset(-1, -1).Text).Tab
Gruß
rober

Anzeige
AW: @Matthias-kleine Korrektur wg.Tabelle5
07.11.2012 12:08:03
Matze,Matthias
Hallo Zusammen,
ich wollte es anders probieren, aber irgendwas mach ich wieder falsche, hat Jemand mal einen Tipp,woran das wieder liegen kann?.
Option Explicit
Sub Blatt_faerben()
'Tastenkombination Strl+i
Dim Wks As Worksheet
Application.ScreenUpdating = False
For Each Wks In ActiveWorkbook.Worksheets
If IsNumeric(Wks.Name) = True And Wks.Range("C3").Value = "prima" Then
Wks.Tab.ColorIndex = 10
ElseIf IsNumeric(Wks.Name) = True And Wks.Range("C3").Value = "beobachten" Then
Wks.Tab.ColorIndex = 6
ElseIf IsNumeric(Wks.Name) = True And Wks.Range("C3").Value = "kritisch" Then
Wks.Tab.ColorIndex = 3
ElseIf IsNumeric(Wks.Name) = True And Wks.Range("C3").Value = "" Then
Wks.Tab.ColorIndex = xlColorIndexNone
End If
Next Wks
Application.ScreenUpdating = True
End Sub

Dankender Matze

Anzeige
AW: @Matze
07.11.2012 12:23:26
hary
Moin
Wenn die Blattnamen wirklich Zahlen sind.Ungetestet.
Sub Blatt_faerben()
'Tastenkombination Strl+i
Dim Wks As Worksheet
Dim Farbe As Long
Application.ScreenUpdating = False
For Each Wks In ActiveWorkbook.Worksheets
If IsNumeric(Wks.Name) Then
Select Case Wks.Range("C3").Value
Case "prima": Farbe = 10
Case "beobachten": Farbe = 6
Case "kritisch": Farbe = 3
Case Else: Farbe = xlNone
End Select
Wks.Tab.ColorIndex = Farbe
End If
Next Wks
Application.ScreenUpdating = True
End Sub

Sollte klappen.
gruss hary

@Harry,....
08.11.2012 00:05:32
Matze,Matthias
Hi,...wenn das " = True" weggelassen wird läuft es.Ich wusste nicht das es ohne geht.
Nu denne,... Guts Nächtle
Matze

Anzeige
weitere Variante Registerfarbe ...
08.11.2012 00:32:21
Matthias
Hallo robert
Hab Deinen Korrekturvorschlag nicht verstanden.
Ich will in der selben Zeile bleiben.
Also nur Offset(, -1) oder eben Offset(0, -1)
Wobei man die 0(Null) aber auch weglassen kann.
Ich gehe nur eine Spalte nach links (also lese in Spalte(A) den Namen des Worksheet aus)
Übrigens waren der Code im Modul und in DieseArbeitmappe nur Überbleibsel die man nicht braucht
Hier eine ganz einfache Variante:
https://www.herber.de/bbs/user/82521.xls
Gruß Matthias

AW: weitere Variante Registerfarbe ...
08.11.2012 07:35:28
robert
Hallo Matthias,
probier mal in deiner 1.Datei Tabelle5 zu ändern.
Da kommt die Fehlermeldung-probier es mal aus ;-)
Gruß
robert

Anzeige
bei mir kommt keine Fehlermeldung
08.11.2012 08:02:29
Matthias
Hallo robert
Hab mir die Datei jetzt nochmal vom Server zurückgeholt und an der auch getestet.
Es kommt keine Fehlermeldung und die Farben werden auch in den Registern geändert.


Userbild


Also welche Fehlermeldung kommt den bei Dir?
Gruß Matthias

AW: bei mir kommt keine Fehlermeldung
08.11.2012 08:32:18
robert
Hallo Matthias,
hier kommt der Debugger
"With ActiveWorkbook.Worksheets(ActiveCell.Offset(, -1).Text).Tab"
die Zelle B5 wird eingefärbt, aber nicht der Tab-Reiter5 !
Habs aber mit Offic 2010 getestet-kanns das sein ?
Gruß
robert

Anzeige
es liegt vermutlich wirklich an Vers. XL2010
08.11.2012 09:03:38
Matthias
Hallo robert
Wegen der (mE) vielen Probleme dieser Version habe ich Office2010 ausgelassen.
Ich habe es in XL2007 geschrieben und in XL2003 getestet.
Gruß Matthias

auch 2003 bringt Fehler-aber Ende und aus ;-) owT
08.11.2012 10:56:04
robert

kann das bitte jemand Testen
08.11.2012 11:49:54
Matthias
Hallo
robert schreibt es kommt ne Fehlermeldung. Bei mir aber nicht.
Ich würde gern wissen, woher der Fehler kommt und ob er bei anderen Usern auch vorkommt.
Einfach:- Zitat: aber Ende und aus gefällt mir nicht.
Das ist gleichbedeutend mit: Ich gebe auf und das gefällt mir aber nicht.
Es soll ja letztendlich auch ein "Aha"-Efekt (bei mir) erzielt werden, sollte robert Recht haben.
Ich möchte gern wissen warum erhält robert einen Fehler und ich nicht.
Ist jemand so nett und testet das mal an meiner 1.gesendeten Datei
Ich schaue heute abend wieder rein.
Gruß Matthias (jetzt nicht mehr im Netz)

Anzeige
AW: ..es geht um diese Datei....
08.11.2012 19:46:18
Werner
Hallo Robert,
nach doch einiger Zeit kann ich jetzt meine Thread weiter verfolgen
sorry, für die verspätete Rückmeldung.
Ich habe die letzte Datei von Dir 82516.xls jetzt geöffnet
und erhalte, wenn die den Zellinhalt von Zelle B5 von 1 auf 2 änder
folgenden Fehlerhinweis in XL2003 !
Laufzeitfehler '9' : Index außerhalb des gültigen Bereichs
Beim Debuggen bleibt er stehen bei
...
With ActiveWorkbook.Worksheets(ActiveCell.Offset(, -1).Text).Tab
...
Also: ICH gebe nicht auf ;)
Und freue mich seeehr, daß Du Dich der Thematik gemühst
und an einer Lösung interessiert bist !
Also : vorab vielen Dank für Deine Unterstützung
Natürlich gilt dieser Dank auch an ALLE ANDEREN in diesem Forum !
Besten Gruß
Werner
ps: habe den Thread als OFFEN gekennzeichnet !

Anzeige
Exceloptionen Markierung verschieben ...
08.11.2012 22:52:17
Matthias
Hallo Werner
Da hast Du aber ne Menge durcheinander gebracht.
Die Beispieldatei habe ich hier ins Forum gestellt und nicht robert
robert hat geschrieben aber Ende & aus. Ich habe gesschrieben Ich gebe nicht auf.
So nun zum Problem was ihr wahrscheinlich habt:
Ich vermute in den Exceloptionen verschiebt ihr die Markierung nach Eingabe/Enter.
In meinen Einstellungen(Exceloptionen) verschiebe ich die Markierung nicht.
Deshalb klappt bei mir ActiveCell und bei Euch eben nicht.
Also entweder "Markierung verschieben" in den Optionen deaktivieren oder
statt ActiveCell eben Target benutzen.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B1:B5")) Is Nothing And Target.Count = 1 Then 'Range anpassen  _
oder auslesen
With ActiveWorkbook.Worksheets(Target.Offset(, -1).Text).Tab
Select Case Target.Value
Case 1
.Color = vbGreen
Case 2
.Color = vbYellow
Case 3
.Color = vbRed
Case Else
.Color = xlNone
End Select
End With
End If
End Sub
Gruß Matthias (von dem das Bsp. ist & der nicht aufgibt) ;-)

Anzeige
und hier noch die Erklärung ...
08.11.2012 23:11:30
Matthias
Hallo zusammen
Userbild
Wenn ihr also in den Exceloptionen die Markierung nach der Eingabe verschiebt
ist die Zelle(B5) nicht mehr die "ActiveCell", sondern Zelle(B6)
Da aber in Zelle(A6) keine Blattname steht sondern leer ist, kommt der IndexFehler
Gruß Matthias

Danke f.die Lösung und Nichtaufgabe;-)) Gruß
09.11.2012 07:47:21
robert
owT

Bitte - gern geschehen ... owT
09.11.2012 07:49:30
Matthias

270 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige