Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bereich pro Zeile einfärben, nicht alle Spalten

Bereich pro Zeile einfärben, nicht alle Spalten
17.06.2013 11:38:58
Peter
Guten Tag
Ich habe einen Code, mit dem ich einen Tabellenbereich einfärbe (Zeilen mit unterschiedlichen Farben).
Nun sollte ich folgende Modifikation vornehmen:
Es sollen nicht alle Spalten des Bereichs eingfärbt werden, sondern nur diejenigen, die in der Tabelle "Cockpit" in Zelle B1 vermerkt sind (Spalten, mit Kommas abgetrennt).
Zur Verdeutlichung habe ich die Spalten in Zeile 2 einfärbt, die im gesamten Bereich eingefärbt werden sollen.
Wie kann ich diese Spezifikation in meinen Code einbauen?
Gruss, Peter
Sub ZEILEN_UNTERSCHIEDLICH_EINFAERBEN()
Dim i As Integer, iSpA As Integer, iSpE As Integer, iZeA As Integer, iZeE As Integer
Dim wks As Worksheet
iSpA = 1
iSpE = 168
iZeA = 7
iZeE = 50
Set wks = ActiveSheet
If IsNumeric(wks.Name) And wks.Name  "Cockpit" Then
With Range(Cells(iZeA, iSpA), Cells(iZeE, iSpE))
.Interior.Color = 16777215    '''Keine Füllung
End With
For i = Range("zeStartAll").Row To Range("zeEndAll").Row
Select Case i Mod 6
Case 2
With Range(Cells(i, iSpA), Cells(i, iSpE))
.Interior.Color = 14994616     '''' hell-blaue Füllung
End With
Case 4
With Range(Cells(i, iSpA), Cells(i, iSpE))   ''' hell-gelbe Fü _
llung
.Interior.Color = 10092543
End With
Case 0
With Range(Cells(i, iSpA), Cells(i, iSpE))
.Interior.Color = 11851260    ''' hell-braune Füllung
End With
Case Else
End Select
Next i
End If
End Sub
''für die Farbe zu berücksichtigende Spalten:
''A:F,H:H,J:M,O:DZ,EB:EE,EG:EH,EJ:EK,EN:EO,EQ:ER,ET:ET,EV:EV,EX:FE,FG:FG,FI:FY
https://www.herber.de/bbs/user/85864.xlsm

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bereich pro Zeile einfärben, nicht alle Spalten
17.06.2013 11:51:17
Rudi
Hallo,
Sub ZEILEN_UNTERSCHIEDLICH_EINFAERBEN()
Dim i As Integer, iSpA As Integer, iSpE As Integer, iZeA As Integer, iZeE As Integer
Dim wks As Worksheet, rngColumns As Range
Set rngColumns = ActiveSheet.Range(Sheets("Cockpit").Range("B1"))
iSpA = 1
iSpE = 168
iZeA = 7
iZeE = 50
Set wks = ActiveSheet
If IsNumeric(wks.Name) And wks.Name  "Cockpit" Then
Set rngColumns = wks.Range(Sheets("Cockpit").Range("B1"))
With Range(Cells(iZeA, iSpA), Cells(iZeE, iSpE))
.Interior.Color = 16777215    '''Keine Füllung
End With
For i = Range("zeStartAll").Row To Range("zeEndAll").Row
Select Case i Mod 6
Case 2
With Intersect(rngColumns, Range(Cells(i, iSpA), Cells(i, iSpE)))
.Interior.Color = 14994616     '''' hell-blaue Füllung
End With
Case 4
With Intersect(rngColumns, Range(Cells(i, iSpA), Cells(i, iSpE)))   ''' hell-gelbe Fü _
llung
.Interior.Color = 10092543
End With
Case 0
With Intersect(rngColumns, Range(Cells(i, iSpA), Cells(i, iSpE)))
.Interior.Color = 11851260    ''' hell-braune Füllung
End With
Case Else
End Select
Next i
End If
End Sub
Gruß
Rudi

Anzeige
Nur bestimmte Spalten per VBA einfärben
17.06.2013 11:56:48
NoNet
Hallo Peter,
hier ein angepasstes Beispiel :
Sub ZEILEN_UNTERSCHIEDLICH_EINFAERBEN()
Dim i As Integer, iSpA As Integer, iSpE As Integer, iZeA As Integer, iZeE As Integer
Dim rngS
Set rngS = [A:F,H:H,J:M,O:DZ,EB:EE,EG:EH,EJ:EK,EN:EO,EQ:ER,ET:ET,EV:EV,EX:FE,FG:FG,FI:FL]
Dim wks As Worksheet
iSpA = 1
iSpE = 168
iZeA = 7
iZeE = 50
Set wks = ActiveSheet
If IsNumeric(wks.Name) And wks.Name  "Cockpit" Then
With Range(Cells(iZeA, iSpA), Cells(iZeE, iSpE))
.Interior.Color = xlNone '16777215    '''Keine Füllung
End With
For i = Range("zeStartAll").Row To Range("zeEndAll").Row
With Intersect(Range(Cells(i, iSpA), Cells(i, iSpE)), rngS)
Select Case i Mod 6
Case 2
.Interior.Color = 14994616     '''' hell-blaue Füllung
Case 4
.Interior.Color = 10092543
Case 0
.Interior.Color = 11851260    ''' hell-braune Füllung
Case Else
End Select
End With
Next i
End If
End Sub
Gruß, NoNet

Anzeige
AW: Bereich pro Zeile einfärben, nicht alle Spalten
17.06.2013 13:56:39
Peter
Hallo Rudi, hallo NoNet
Hat super geklappt, musste noch noch die Einschränkung auf "Keine Füllung") - ergänzen.
Gruss, Peter
With Intersect(Range(Cells(iZeA, iSpA), Cells(iZeE, iSpE)), rngS)
.Interior.Color = xlNone '16777215 '''Keine Füllung
End With
With Intersect(Range(Cells(iZeA, iSpA), Cells(iZeE, iSpE)), rngColumns)
.Interior.Color = 16777215 '''Keine Füllung
End With

Anzeige
16777215
17.06.2013 14:13:31
Rudi
Hallo,
das ist eine weiße Füllung, nicht keine Füllung.
Gruß
Rudi

AW: xlNoNe - siehe meine Lösung ;-)
17.06.2013 17:00:26
Peter
Vielen Dank an beide
Das habe ich glatt übersehen.
Gruss, Peter
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige