#一、**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(