我想在我的宏中使用cellranges。
Function SumIfColor(SumRange)
Dim oRange as object
Dim oSheet as object
' Get Access to the Active Spreadsheet
oSheet = ThisComponent.CurrentController.ActiveSheet
' Get access to the Range listed in Sum Range
oRange = oSheet.getCellRangeByName(SumRange).RangeAddress
End Function
问题是如何使用真正的cellRange对象而不是String来调用此函数。因为getCellRangeByName仅适用于String变量。 因为当我像这样调用函数时
sumifcolor(B1:B3)
我收到以下错误: “未设置对象变量”
我读了一些提示here,但它没有帮助我。
答案 0 :(得分:2)
无法传递实际的CellRange对象。一种解决方案是传递行号和列号,类似于链接中@Axel Richter的答案的第二部分:
=SUMIFCOLOR(COLUMN(B1:B3),ROW(B1),COLUMN(B3),ROW(B3))
要打电话:
B1:B3
由于COLUMN(B1:B3)
,只要{{1}}范围内的值发生变化,就会重新计算总和。但是,显然只改变单元格的颜色不会导致重新计算。