首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用api.autofill如何传递范围作为range.autofill方法的参数

使用api.autofill如何传递范围作为range.autofill方法的参数
EN

Stack Overflow用户
提问于 2017-02-01 10:10:17
回答 3查看 2.5K关注 0票数 1

我可以使用VBA和range.autofill方法轻松地在Excel上用公式填充列:

代码语言:javascript
运行
复制
Range("A2").AutoFill Destination:=Range("A2:A10"), Type:=xlFillDefault

这将获取单元格A2 (或某个范围)上的公式/内容,并将其扩展到A10。

查看我看到的MSDN帮助:https://msdn.microsoft.com/en-us/library/office/ff195345.aspx

和:https://msdn.microsoft.com/en-us/library/office/ff838605.aspx

我能做的就是:

代码语言:javascript
运行
复制
import xlwings as xw
rp = xw.Book(myFile)
rp.sheets('mySheet').range('A2').api.autofill(range, 0)

但我不知道如何通过range。我不能简单地键入"A2:A10",我需要传递一个range对象。

我试过这样做:rp.sheets('mySheet').range('A2').api.autofill(rp.sheets('mySheet').range('A2:A10'), 0),但这简直就是搞砸了Python!

有什么想法吗?谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-01 10:53:48

您需要两次通过api使用底层Range对象。假设您在Windows上,这将有效:

代码语言:javascript
运行
复制
import xlwings as xw
from xlwings.constants import AutoFillType

wb = xw.Book('Book1')
sheet = wb.sheets(1)
sheet.range('A2').api.AutoFill(sheet.range("A2:A10").api,
                               AutoFillType.xlFillDefault)
票数 4
EN

Stack Overflow用户

发布于 2020-03-28 21:50:53

这将适用于Mac:

代码语言:javascript
运行
复制
import xlwings as xw
from xlwings.constants import AutoFillType

wb = xw.Book('euromillions.csv')
ws = wb.sheets('euromillions')

ws.range("A2").api.autofill(destination = ws.range("A2:A5").api, type = AutoFillType.xlFillDefault)
票数 1
EN

Stack Overflow用户

发布于 2022-07-26 15:42:19

谢谢,Felix Zumstein,给出了答案。让我补充一下我的windows系统的工作原理:

sheet.range("A1").api.AutoFill(sheet.range("A1:A10").api,0)

在我的例子中,AutoFillType.xlFillDefault没有被识别,将这个值替换为0完成了这项工作。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41977016

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档