Betrifft: Used Range Beschränken
von: Didi
Geschrieben am: 19.11.2019 13:18:08
Hallo liebes Forum,
ich beschäftige mich wieder mit VBA und habe gemerkt, dass meine Kenntnisse gravierend eingestaubt sind.
Ich habe eine Tabelle wo je nach Fälle die Felder in eine Farbe makiert werden, das funktioniert auch alles wunderbar.
Sobald ich aber das Feld lösche, verschwindet auch die Farbe, das ist auch so beabsichtigt.
Mein Problem ist nun, dass Felder die unabhängig von den Fällen sind auch wieder ihre Farbe verlieren.
Das Problem hängt mit der used.range zusammen, kann man diese einschränken?
Es wären bestimmte Zeilen die nicht mit einbezogen werden sollen wie z.B. A1:Z1 F1: Z6.
Option Explicit Public Sub ColourChange1() Dim itm As Range Application.ScreenUpdating = False Sheets("Test").Offset(1).Interior.ColorIndex = xlColorIndexNone For Each itm In Sheets("Test").UsedRange.Offset(1) If Not IsError(itm) Then With itm Select Case .Value2
Betrifft: AW: Used Range Beschränken
von: Werner
Geschrieben am: 19.11.2019 13:28:55
Hallo,
was bitte soll das hier darstellen?
Sheets("Test").Offset(1).Interior.ColorIndex = xlColorIndexNoneIch denke mal es wäre besser, wenn du eine Beispielmappe hochladen würdest in der du aufzeigst was du willst.
Betrifft: AW: Used Range Beschränken
von: Didi
Geschrieben am: 19.11.2019 13:37:43
Option Explicit Public Sub ColourChange1() Dim itm As Range Application.ScreenUpdating = False Sheets("Test").UsedRange.Offset(1).Interior.ColorIndex = xlColorIndexNone For Each itm In Sheets("Test").UsedRange.Offset(1) If Not IsError(itm) Then With itm Select Case .Value2 'Klasse Case "Klasse-1", "Klasse-2", "Klasse-3" .Interior.Color = RGB(218, 150, 148) itm.Offset(0, 1).Interior.Color = RGB(218, 150, 148) itm.Offset(0, 2).Interior.Color = RGB(218, 150, 148) itm.Offset(0, 3).Interior.Color = RGB(218, 150, 148) 'Stufe Case "Stufe" .Interior.Color = RGB(146, 205, 220) itm.Offset(0, 1).Interior.Color = RGB(146, 205, 220) itm.Offset(0, 2).Interior.Color = RGB(146, 205, 220) itm.Offset(0, 3).Interior.Color = RGB(146, 205, 220) End Select End With End If Next Application.ScreenUpdating = True End Sub