Ich als OOP-Linkshänder habe mir dann folgendes geschrieben, um die bedingten Formatierungen einer Beispielzelle auf beliebige andere Zellen übertragen zu können:
Dim seiten(1 To 4) As Long ' die Seiten einer Zelle
Dim i, j, k As Byte
Public bedfrmgrpA As FormatConditions
With Cells(bspzeile1, bspspalte1)
Set bedfrmgrpA = .FormatConditions
End With
seiten = Array(xlRight, xlTop, xlBottom, xlLeft)
For i = zeile1 + 2 To zeile1 + zahljegruppe
With Cells(i, spalte1).FormatConditions
.Delete
' folgendes löst dann Fehler 1004, "Anwendungs- oder objektdefinierter Fehler" aus:
.Add Type:=bedfrmgrpA.Item(1).Type, Operator:=bedfrmgrpA.Item(1).Operator, _
Formula1:=bedfrmgrpA.Item(1).Formula1, Formula2:=bedfrmgrpA.Item(1). _
Formula2
' so als gäbe es irgendwelche angesprochenen Objekte nicht
.Add Type:=bedfrmgrpA.Item(2).Type, Operator:=bedfrmgrpA.Item(2).Operator, _
Formula1:=bedfrmgrpA.Item(2).Formula1, Formula2:=bedfrmgrpA.Item(2). _
Formula2
.Add Type:=bedfrmgrpA.Item(3).Type, Operator:=bedfrmgrpA.Item(3).Operator, _
Formula1:=bedfrmgrpA.Item(3).Formula1, Formula2:=bedfrmgrpA.Item(3). _
Formula2
End With
For j = 1 To 3
With Cells(i, spalte1).FormatConditions(j)
For k = 1 To 4
With .Borders(seiten(1))
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = 6
End With
Next k
With .Font
.Bold = bedfrmgrpA.Item(j).Font.Bold
.Color = bedfrmgrpA.Item(j).Font.Color
.ColorIndex = bedfrmgrpA.Item(j).Font.ColorIndex
.FontStyle = bedfrmgrpA.Item(j).Font.FontStyle
.Italic = bedfrmgrpA.Item(j).Font.Italic
.Strikethrough = bedfrmgrpA.Item(j).Font.Strikethrough
.Underline = bedfrmgrpA.Item(j).Font.Underline
End With
With .Interior
End With
End With
Next j
Next i
Kann mir mal jemand einen Dupps in den Nacken geben?Thomas