合同相同单元格

合同相同单元格

需求

  1. 将一列中连续、值相同的单元格进行合并

方案思路

  1. 循环所选单元格区域,将当前单元格与下一个单元格的值进行比较

    • 相同
      不进行不处理
    • 不同
      将第一个单元格与本单元格地址用“:”链接,形成单元格区域,使用rng.Merge进行合并单元格
  2. 设置格式

    • 设置单元格区域的格式:水平、垂直居中,加边框

代码实现

Sub 合并相同单元格()
'将所选单元格中连续的相同值单元格合并
    Application.DisplayAlerts = False
    On Error GoTo a
    Set rng = Application.InputBox(prompt:="请选择需要合并单元格的连续区域?", Title:="输入框", Default:=Selection.Address, Type:=8) '选择单元格区域
a:
    If TypeName(rng) <> "Range" Then
        Exit Sub
    End If
    st = Split(rng.Address, ":")(0)
    For Each r In rng
        If r.Value <> Cells(r.Row + 1, r.Column).Value Then
            Range(st & ":" & r.Address).Merge
            st = Cells(r.Row + 1, r.Column).Address
        End If
    Next
    rng.Borders.LineStyle = True  '加边框
    rng.HorizontalAlignment = xlHAlignCenter  ' 水平居中
    rng.VerticalAlignment = xlVAlignCenter  ' 垂直居中
    rng.WrapText = True '行内换行
    Application.DisplayAlerts = True ' 开启警告提示(恢复默认设置)
End Sub
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值