我正在尝试使用xlwing的sheetname.range(“某些对象定义的范围”).formula =“ =某些excel公式”函数,但是我不确定如何将对象定义的范围引用为字符串上面的公式。
我能够如下定义对象范围:
X = sht0.range('C10').expand('down').value
对于此范围内的所有值,我想使用excel公式执行计算,并且希望使用以下函数。
sht0.range('F1').formula = "=SUM(X)"
这是一个简单的Sum函数,如果我仅在python中使用sum(X)函数并在上面的公式中使用结果而不创建字符串,该函数就可以工作,但是如果我想使用其他内置的excel函数呢?代替?
一种可能的解决方法是使用xw.api语法使用pywin32语法在excel中创建“命名范围”,但是我似乎无法弄清楚语法转换是什么。
例如,在VBA中是:
Range("D7").Select
ActiveWorkbook.Names.Add Name:="SomeNameforaRange", RefersToR1C1:="=Sheet1!R7C4"
我在xlwings中为python尝试了以下内容,以及语法中的其他尝试:
sht0.range('C10').expand('down').api.Names = "SomeNameforaRange"
...但这不起作用。它只会冻结我的笔记本,或者给我一个错误。
很抱歉,如果这个问题非常简单,我对Python和xlwings还是有点陌生,但是我很感谢您提供的任何帮助。