将公式自动填充到 xlwings 范围内最后一个占用的单元格

问题描述 投票:0回答:1

我想像excel一样将公式拖到单元格最后占用的区域。 我已经使用复制粘贴从 CN6:CY6 到 CN8:CY8 范围内的单元格引用添加了公式,但现在我想将公式拖动/自动填充到占用范围的其余部分,我该怎么做?

import xlwings as xw
wb=xw.Book("example.xlsb")
wb.sheets[1].range("cn8:cy8").color=None
wb.sheets[1].range("cn8:cy8").font.color = (0, 0, 0)
lastRow = wb.sheets[1].range(8,2).end('down').row
wb.sheets[1].range('CN8:CY8').api.AutoFill(lastRow,
                               AutoFillType.xlFillDefault)

请注意,我有“从”范围,但没有固定的“到”范围,因为数据可能会不时变化,我使用了lastrow函数来确定最后占用的单元格。我如何在“自动填充”代码行中使用lastrow

python xlwings
1个回答
0
投票

好的,只需在代码中使用 last_row 变量即可。
确保 B 列确实有最后一行,否则返回的值将是工作表的最大行数 1048576。

import xlwings as xw
from xlwings.constants import AutoFillType


xlfile = 'example.xlsb'

with xw.App(visible=True) as app:
    wb = xw.Book(xlfile)
    wb.sheets[1].range("cn8:cy8").color = None
    wb.sheets[1].range("cn8:cy8").font.color = (0, 0, 0)
    lastRow = wb.sheets[1].range(8, 2).end('down').row

    wb.sheets[1].range('CN8:CY8').api.AutoFill(wb.sheets[1]
                      .range(f"CN8:CY{lastRow}").api, AutoFillType.xlFillDefault)


    wb.save(xlfile)
© www.soinside.com 2019 - 2024. All rights reserved.