ich bin zwar kein direkter VBA-Anfänger, aber ich habe ab und zu meine Probleme. So auch hier wieder :
ich möchte einen frei definierbaren Bereich mit einer Hintergrundfarbe (hier : grau) füllen. _ Dazu habe ich folgende Routine geschrieben (intLastColumn und strWetter sind als Public vorher bereits definiert) :
Public Sub Bereich_Füllen(ByVal intRow, ByVal intColumn)
Dim intI As Integer ' Schleifenzähler
Dim wksOne As Worksheet ' aktuelles Arbeitsblatt
Dim rngZeile As Range ' aktuelle Zeile
Set wksOne = ThisWorkbook.Sheets(strWetter) ' Arbeitsblatt "Wetterlage"
With wksOne
intLastRow = .Cells(Rows.Count, 1).End(xlUp).Row
If Cells(intRow - 1, 1).Interior.Color = RGB(217, 217, 217) Then
.Range(wksOne.Cells(intRow, 1), _
wksOne.Cells(intRow, intLastColumn)).Interior.Color = xlNone
intOffset = 1
Else
intOffset = 0
End If
For intI = intRow + intOffset To intLastRow Step 2
.Range(Cells(intI, 1), Cells(intRow, intLastColumn)) _
.Interior.Color = RGB(217, 217, 217) ' Zeile grau färben
.Range(Cells(intI + 1, 1), Cells(intRow, intLastColumn)) _
.Interior.Color = RGB(255, 255, 255) ' Zeile weiß färben
Next intI
End With
End Sub
Bei der Zuweisung der Farbe zum Bereich bekomme ich immer einen Laufzeitfehler 1004 : 'Anwendungs- oder objektdefinierter Fehler'. Leider hilft mir die Hilfe nicht wirklich weiter. Ich habe schon mehrere Varianten der Ansprache des Range-Objektes versucht, allerdings ohne Erfolg. Meine letzte Hoffnung ist daher dieses Forum...
MfG,
Ulf