Registriert seit: 14.01.2015
Version(en): 2003
servus zusammen,
für euch sicherlich schnell erledigt,
wenn ich zb. in Zelle B2 einen Wert eingebe... welche ist eigentlich egal, soll sich der Reiter automatisch Rot einfärben.
bei der Google suche finde ich schon das ein oder andere allerdings soll das ganze bei jedem Reiter passieren ausser bei den beiden ersten die index und übersicht heißen.
und da ist dann mein problem das ich diese kleinen änderungen leider nicht fehlerfrei hinbekomme.
hoffe ihr könnt mir helfen ...
PS: ich habe office 2003
Danke schonmal
Gruß
lion
Registriert seit: 21.07.2016
Version(en): 2007
Hi,
dann teste das mal so
Sub RegisterFärben()
Dim Blatt As Object
For Each Blatt In ActiveWorkbook.Sheets
If Blatt.Name <> "Index" And Blatt.Name <> "Übersicht" And Blatt.Cells(2, 2) <> "" Then
Blatt.Tab.Color = vbRed
End If
Next Blatt
End Sub
VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media
Code erstellt und getestet in Office 12 - mit VBAHTML 12.6.0
Gruß
Ich
Registriert seit: 14.01.2015
Version(en): 2003
coole sache werd den code morgen gleich mal ausprobieren...
was mir noch eingefallen ist, es wäre ganz hilfreich wenn excel die rot markierten reiter automatisch nach vorne schiebt... allerdings nicht ganz, sondern frühestens auf Position 5.
bsp:
reiter 1 index
reiter 2 Übersicht
reiter 3 xy
etc...
ab reiter 5, die rot markierten.
also wenn das irgendwie machbar is und euch / dir nich zu viel zeit raubt zu programmieren.
Gruß
Registriert seit: 21.07.2016
Version(en): 2007
Hi,
dann so mit Sortierung.
Sub RegisterFärbenUndFarblichSortieren()
Dim Blatt As Object
Dim i As Integer, iNext As Integer
For Each Blatt In ActiveWorkbook.Sheets
If Blatt.Name <> "Index" And Blatt.Name <> "Übersicht" And Blatt.Cells(2, 2) <> "" Then
Blatt.Tab.Color = vbRed
End If
Next Blatt
For i = 1 To Worksheets.Count - 1
For iNext = i To Worksheets.Count
If Worksheets(iNext).Tab.ColorIndex = xlNone Then
Worksheets(iNext).Move before:=Worksheets(i)
End If
Next iNext
Next i
End Sub
VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media
Code erstellt und getestet in Office 16 - mit VBAHTML 12.6.0
Gruß
Ich
Registriert seit: 14.01.2015
Version(en): 2003
Servus und erstmal sorry das ich mich so lang nicht gemeldet habe aber ich war leider Krank.
hab den Code gerade ausprobiert aber er färbt leider den Reiter nicht Rot ein wenn ich etwas in Zeile B2 eingebe.
habe es auch zum Test in einer neuen Excel Datei ausprobiert, jedoch auch hier leider ohne erfolg
kannst du das ganze bitte nochmal kontrollieren? und wie gesagt ich habe excel 2003
Gruß und danke schonmal.
Registriert seit: 21.07.2016
Version(en): 2007
Hi,
das hatte ich elegant überlesen.
Dann gehört dieser Code hinter jede Tabelle mit Ausnahme von Index und Übersicht.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Blatt As Object
Dim i As Integer, iNext As Integer
Set Blatt = ThisWorkbook.ActiveSheet
If Target.Address = "$B$2" And Target.Value <> "" Then
Blatt.Tab.Color = vbRed
For i = 1 To Worksheets.Count - 1
For iNext = i To Worksheets.Count
If Worksheets(iNext).Tab.ColorIndex = xlNone Then
Worksheets(iNext).Move before:=Worksheets(i)
End If
Next iNext
Next i
End If
End Sub
VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media
Code erstellt und getestet in Office 12 - mit VBAHTML 12.6.0
Gruß
Ich
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Moin und nur am Rande:
Zitat:Dann gehört dieser Code hinter jede Tabelle mit Ausnahme von Index und Übersicht.
Es gibt das
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)-Ereignis in
DieseArbeitsmappe.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:1 Nutzer sagt Danke an RPP63 für diesen Beitrag 28
• IchBinIch
Registriert seit: 21.07.2016
Version(en): 2007
27.10.2016, 10:07
(Dieser Beitrag wurde zuletzt bearbeitet: 27.10.2016, 10:07 von IchBinIch.)
Moin Ralf,
ich lerne immer noch dazu. Thx!
@Lion dann diesen Code nur hinter "DieseArbeitsmappe"
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Blatt As Object
Dim i As Integer, iNext As Integer
Set Blatt = ThisWorkbook.ActiveSheet
If Target.Address = "$B$2" And Target.Value <> "" Then
If Blatt.Name <> "Index" And Blatt.Name <> "Übersicht" Then
Blatt.Tab.Color = vbRed
For i = 1 To Worksheets.Count - 1
For iNext = i To Worksheets.Count
If Worksheets(iNext).Tab.ColorIndex = xlNone Then
Worksheets(iNext).Move before:=Worksheets(i)
End If
Next iNext
Next i
End If
End If
End Sub
VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media
Code erstellt und getestet in Office 12 - mit VBAHTML 12.6.0
Gruß
Ich
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
Hi!
Da ich weiß, dass Du mein Grätschen nicht als Klugscheißerei ansiehst, noch ein Tipp:
Du brauchst kein Objekt namens Blatt.
Dies wird dem Ereignismakro bereits mit der Variable Sh übergeben.
Freundliche Grüße
vom ollen Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:1 Nutzer sagt Danke an RPP63 für diesen Beitrag 28
• IchBinIch
Registriert seit: 21.07.2016
Version(en): 2007
(27.10.2016, 10:13)RPP63 schrieb: ...
Freundliche Grüße
vom ollen Ralf
:19: :19: :19:
Von "den Ollen" lernt man am meisten :32:
Wenn ich genauer hingesehen hätte, hätte mir das auch auffallen sollen
.
Womit wir wieder beim Thema wären...
Ich denke das kann Lion selbst korrigieren.
Gruß und Danke nochmal
Markus :100: