von F3K Total » Mo, 03.12.2018 18:36
Aha,
nun, ich wollte es wissen, mit diesem Makro geht es dann, wenn du die 9 Bereiche festlegst:
Code: Alles auswählen
global oLastCell as object
global bStart as boolean
Sub set_backgroundcolor(event)
dim nStatus as integer
oSheet = ThisComponent.Sheets.getbyname("Tabelle1")
oStatusCell = oSheet.getCellbyposition(9,0)'J1
oColorCell = oSheet.getCellbyposition(10,0)'K1
nColor = oColorCell.CellBackcolor
nStatus = oStatusCell.string
oRange = oSheet.getcellRangebyposition(0,0,8,8)'der gesamte Bereich
if bStart Then oLastCell.CellBackcolor = - 1
if oRange.queryIntersection(event.Rangeaddress).count > 0 then
oLastCell = event
bStart = 1
if nStatus = 0 then
event.CellBackcolor = nColor
oLastCell = event
else
oNamedRanges = thisComponent.NamedRanges
for i = 0 to oNamedRanges.count - 1
oNamedRangeCells = oNamedRanges(i).referredCells
if oNamedRangeCells.queryIntersection(event.Rangeaddress).count > 0 then
oNamedRangeCells.CellBackcolor = nColor
oLastCell = oNamedRangeCells
endif
next i
endif
endif
End Sub
Beispiel anbei, Makros müssen natürlich erlaubt werden.
- Dateianhänge
-
- Bereiche_einfaerben.ods
- (10.76 KiB) 103-mal heruntergeladen
Aha,
nun, ich wollte es wissen, mit diesem Makro geht es dann, wenn du die 9 Bereiche festlegst:[code]global oLastCell as object
global bStart as boolean
Sub set_backgroundcolor(event)
dim nStatus as integer
oSheet = ThisComponent.Sheets.getbyname("Tabelle1")
oStatusCell = oSheet.getCellbyposition(9,0)'J1
oColorCell = oSheet.getCellbyposition(10,0)'K1
nColor = oColorCell.CellBackcolor
nStatus = oStatusCell.string
oRange = oSheet.getcellRangebyposition(0,0,8,8)'der gesamte Bereich
if bStart Then oLastCell.CellBackcolor = - 1
if oRange.queryIntersection(event.Rangeaddress).count > 0 then
oLastCell = event
bStart = 1
if nStatus = 0 then
event.CellBackcolor = nColor
oLastCell = event
else
oNamedRanges = thisComponent.NamedRanges
for i = 0 to oNamedRanges.count - 1
oNamedRangeCells = oNamedRanges(i).referredCells
if oNamedRangeCells.queryIntersection(event.Rangeaddress).count > 0 then
oNamedRangeCells.CellBackcolor = nColor
oLastCell = oNamedRangeCells
endif
next i
endif
endif
End Sub[/code]
Beispiel anbei, Makros müssen natürlich erlaubt werden.