Skip to main content
 首页 » 编程设计

具有相对单元格引用的 Python xlwings 复制粘贴公式

2025年05月04日24yyy_WW

我在单元格 A1 中有一个公式,它是 "=C1+$D$1"。我想使用 xlwings 将此公式复制粘贴到 A3 中(保留相对单元格引用)。我希望单元格 A3 中粘贴的公式是 "=C3+$D$1" 而不是 "=C1+$D$1"。

是否有标志或函数可以根据我们要粘贴的范围调整公式?如果没有,我想最好的解决方案是在粘贴之前处理公式本身?

rng_to_paste = ws.range('A1').options(ndim=1).formula 
ws.range('A3').options(ndim=1).formula = rng_to_paste 

请您参考如下方法:

基于 KrisG 的回答,这对我有用:

formula = xw.sheets[0].range("A1").formula 
xw.sheets[0].range("A1,A3").formula = formula 

结果:

     A 
1    =C1+$D$1 
2 
3    =C3+$D$1 

基本上,它是用相同的公式覆盖 A1,但这给了它一个引用点,因此它知道如何修改 A3 的公式。