ColorIndex bei benanntem Bereich

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: ColorIndex bei benanntem Bereich
von: Thomas
Geschrieben am: 13.08.2015 07:25:30

Hallo Zusammen,
ich bin neu hier im Forum und habe eine kurze Frage.
Ich möchte in einem benannten Bereich, der mit Datumswerten gefüllt ist, alle Sonntage mit einer Hintergrundfarbe füllen.
Mein benannter Bereich heißt "Jan" und erstreckt sich über die Zellen A3:B12.
Nur in der erste spalte in dem Bereich ist ein Datum eingetragen, in der zweiten nicht.
Wenn in der ersten Spalte ein Sonntag gefunden wird soll die ganze Zeile mit einer Farbe hinterlegt werden.

Sub HintergrundfarbeFuerSonntage()
Dim arBereich, lngS As Long, lngZ As Long
arBereich = [Jan]
    
For lngZ = LBound(arBereich) To UBound(arBereich)
    
    If Weekday(arBereich(lngZ, 1)) = 1 Then
    'MsgBox arBereich(lngZ, 1)
    arBereich(lngZ, 1).Interior.ColorIndex = 1
    End If
    
Next
End Sub
----
Über die Ausgabe MsgBox bekomme ich die Werte ausgelesen.
Aber bei der Zeile für die Hintergrundfarbe fehlt ihm ein Objekt und dort komme ich nicht  _
weiter.
Vielen Dank für eure Hilfe

Bild

Betrifft: AW: ColorIndex bei benanntem Bereich
von: Nepumuk
Geschrieben am: 13.08.2015 08:14:23
Hallo,
du liest die Werte aus den Zellen und hast damit keinen Bezug mehr dazu.
Teste mal:

Option Explicit

Public Sub HintergrundfarbeFuerSonntage()
    Dim objCell As Range
    For Each objCell In Range("Jan").Columns(1).Cells
        If Weekday(objCell.Value) = vbSunday Then _
            objCell.Resize(1, 2).Interior.Color = vbBlack
    Next
End Sub

Gruß
Nepumuk

Bild

Betrifft: AW: ColorIndex bei benanntem Bereich
von: Thomas
Geschrieben am: 13.08.2015 21:51:21
Vielen Dank Nepumuk
So klappt es.

 Bild

Beiträge aus den Excel-Beispielen zum Thema "ColorIndex bei benanntem Bereich"