合并单元格的行高自动调整

合并单元格的行高自动调整

一、思路

未合并单元格AUTOFIT行高正常
整行逐个单元格分析
是否合并单元格
记录所有合并列宽
拆分合并单元格并将该列设置为总宽度
AUTOFIT
记录行高
取最大行高

二、单行代码


Function adjustMergeRowheight(r, firstc, endc)
    Rows(r).Select
    Rows(r).AutoFit
    RowHeight = Rows(r).Height
    For Each rng In Range(Cells(r, firstc), Cells(r, endc)).Cells
        rng.Select
        If rng.MergeCells Then
            rng.WrapText = True
            colindex = rng.Column
            If colindex = rng.MergeArea.Column Then
                oriwidth = Columns(colindex).ColumnWidth
                colwidth = 0
                maxc = colindex + rng.MergeArea.Columns.Count - 1
                For i = colindex To maxc
                    colwidth = colwidth + Columns(i).ColumnWidth
                Next
                rng.UnMerge
                Columns(colindex).ColumnWidth = colwidth
                Rows(r).AutoFit
                If Rows(r).Height > RowHeight Then
                    RowHeight = Rows(r).Height
                End If
                Columns(colindex).ColumnWidth = oriwidth
                With Range(Cells(r, colindex), Cells(r, maxc))
                    .WrapText = True
                    .Merge
                    .Borders.LineStyle = xlContinuous
                    .HorizontalAlignment = xlHAlignLeft
                End With

            End If
        End If
    Next
    Rows(r).RowHeight = RowHeight * 1.25
End Function

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值