Hallo Zusammen,
balu hat geschrieben:Dabei geht die "Bedingte Formatierung" im GESAMTEN Tabellenblatt verloren.
Folgendes Makro setzt einen blauen Rahmen um alle Zellen die eine BF enthalten:
Code: Alles auswählen
Sub BF_suchen
oDoc = ThisComponent
oSheet = ThisComponent.CurrentController.getActiveSheet()
oZell = oDoc.getCurrentSelection()
oZell.supportsService("com.sun.star.sheet.SheetCellRange")
oSelect=ThisComponent.CurrentSelection.getRangeAddress
oSelectColumn=ThisComponent.CurrentSelection.Columns
oSelectRow=ThisComponent.CurrentSelection.Rows
CountColumn=oSelectColumn.getCount
CountRow=oSelectRow.getCount
Start_Column=oSelect.StartColumn
End_Column=oSelect.EndColumn
Start_Row =oSelect.StartRow
End_Row=oSelect.EndRow
For sp = Start_Column to End_Column
For ze = Start_Row to End_Row
oSelectSR = oSelect.StartRow + 1
oSelectEC = oSelectColumn.getByIndex(CountColumn-1).getName
oBereich = oSheet.getCellByPosition(sp,ze)
oBedingungen = oBereich.getPropertyValue( "ConditionalFormat" )
BedFormat = oBedingungen.Count
if BedFormat > 0 Then
oBorder = oSheet.Tableborder
oBorderline = oBorder.TopLine
oBorderline.innerlinewidth = 50
oBorderline.color = RGB (36, 93, 219)
oBereich.topBorder = oBorderline
oBereich.leftBorder = oBorderline
oBereich.rightBorder = oBorderline
oBereich.bottomBorder = oBorderline
'oBereich.cellbackcolor = RGB(236, 233, 216)'Hintergrundfarbe Zelle
end if
next ze
next sp
msgbox "Die Überprüfung ist abgeschlossen!",64, "BF suchen"
End Sub[/
Man kann auch die Hintergrundfarbe der Zelle verändern, dann einfach den Code für die Border auskommentieren
und das Hochkomma in der Zeile mit der Hintergrundfarbe entfernen.
Zur Ausführung: Einen Zellbereich markieren, aber vorsicht, bitte nicht die ganze Tabelle markieren weil das Makro
dann unendlich lange läuft (256 mal 65536 Zellen!!!!!). Dann das Makro starten.
Schöne Grüsse
Jürgen