自动化办公从EXCEL VBA转PYTHON xlwings+pandas自用代码对比实现

#一、**VBA实现:**取消EXCEL横向合并单元格并使数据左对齐

'取消指定列如“A”列的合并单元格并设置为不换行左对齐格式
Sub XMerge()
 For i = 1 To Range("A65536").End(xlUp).Row + 1     '取A列数据的最大行数
    If Range("A" & i).MergeCells = True Then        '如果单元格为合并单元格
       With Range("A" & i)
            .HorizontalAlignment = xlLeft           '设置单元格左对齐
            .WrapText = False                       '取消自动换行
            .MergeArea.MergeCells = False           '取消合并单元格
       End With
    End If
  Next
End Sub

#二、**PYTHON xlwings实现:**取消EXCEL横向合并单元格并使数据左对齐

import xlwings as xw                    #导入xlwings模块用于操作EXCEL,结合VBA代码(.api)
app = xw.apps.active                    #当前活动app(EXCEL)
wb = app.books.active                   #当前活动工作薄,方法2:打开指定工作簿xw.Book(r'D:\PY\test.xlsx')
ws = wb.sheets.active                   #当前活动工作表,方法2:wb.sheets[0],即sheet1
nrows = ws.used_range.last_cell.row     #可以正确获取总行数!***!
#print(nrows)                           #测试点   
for i in range(1,nrows):
    if ws.range(i,1).api.MergeCells:                     #合并单元格为真
        ws.range(i,1).unmerge()                          #取消合并单元格
        ws.range(i,1).api.HorizontalAlignment = -4131    #设置单元格左对齐
        ws.range(i,1).api.WrapText = False               #取消自动换行
        ws.range(i,1).rows.autofit()                     #自适应,注意加括号
        ws.range(i,1).api.Font.Bold = True               #字体加粗

#三、**VBA实现:**取消EXCEL第1列合并单元格并合并第3列对应分行数据到一个单元格(填充指定列数据)

Sub HRow()
    'For i = 1 To Range("A65536").End(xlDown).Row       '取A列最大行数,2的20次方=1048576
    Dim a(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值