是否可以使用xlwings API在excel中命名范围?尝试使用引用excel定义范围的字符串公式

时间:2019-06-07 22:11:30

标签: python xlwings

我正在尝试使用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还是有点陌生​​,但是我很感谢您提供的任何帮助。

0 个答案:

没有答案