我正在尝试根据 XLWINGS 写入的数据刷新 Excel 中的数据透视表。由于我不知道如何直接从 XLWINGS 执行此操作,因此我尝试使用 VBA。
让我们将我的过程分为两步:
步骤1
我从 vba 启动 python 代码(我的模块名称是“PosRep”,感谢 xlwings,python 代码在指定工作表中写回一系列数据。
Sub launchPython()
RunPython ("import PosRep; PosRep")
End Sub
Run Code Online (Sandbox Code Playgroud)
第2步
但由于我事先不知道 Excel 中新创建的范围的大小,因此我想选择它,添加新名称 (NamedRange) 并刷新我的数据透视表(已链接到 NamedRange)。
Sub SelectRange()
Worksheets("GPODump").Range("A1").Select
'...
End Sub
Run Code Online (Sandbox Code Playgroud)
两个潜艇都独立工作得很好。但我无法让它们直接工作。下面的代码:
Sub Main()
launchPython
SelectRange
End Sub
Run Code Online (Sandbox Code Playgroud)
在语句上生成 VBA 错误“范围类的选择方法失败”:
Worksheets("GPODump").Range("A1").Select
Run Code Online (Sandbox Code Playgroud)
我认为与 XLWINGS VBA 模块存在冲突,但我不知道它是什么......非常欢迎任何人的帮助!谢谢