我试图在xlwings中创建一个简单的函数,它以单元格的形式接受一个范围对象,计算出该单元格列中包含数据的最后一个单元格是什么,然后返回从该单元格到包含数据的最后一个单元格的范围。然后我希望能够在Excel的公式中使用此范围
我的问题是,我无法将返回值设置为excel可以处理的可用范围对象。我该怎么做
我的函数是(函数colnum_string
只是将数字列转换为excel列字母):
@xw.func
@xw.arg('start', 'range')
@xw.ret('end_range', 'range')
def CELLTOEND(start):
column = colnum_string(start.column)
row = start.row
sheet = start.sheet
end_row = xw.sheets[sheet].range(column + str(xw.sheets[sheet].cells.last_cell.row)).end(
'up').row + 1
end_range = xw.Range(column + str(row) + ":" + column + str(end_row))
return end_range
此函数给我一个编译错误:xlret()接受0到1个位置参数,但给出了2个
我还试图不将end_cell
创建为Range对象,但没有效果,最后返回为end_cell.formula
,它确实返回范围,但是如果该范围包含从1到7的数字,我就不能对其使用SUM并得到28的结果
最后我做了这件事,这似乎对我的案子起到了作用:
相关问题 更多 >
编程相关推荐