如何取消合并单元格并保留单元格内容以及如何合并单元格

Sub 取消合并单元格并保留内容()
    Dim strmer As String '用于存储需要取消合并单元格的内容
    Dim intcot As Integer '用于存储被合并单元格的个数
    Dim i As Integer, j As Integer '用于循环计数
    Dim totalR As Integer, totalC As Integer '用于统计行数
    Dim myrange As Range
    Worksheets(1).Activate
    totalR = Range("B65536").End(xlUp).Row
    totalC = Range("IV2").End(xlToLeft).Column ‘由于最后一列首行也为合并单元格,故取第256列的第2行计算列号.
    Debug.Print totalR, totalC
    For j = 1 To totalC
        For i = 2 To totalR
            Set myrange = Range(Cells(i, j), Cells(i, j))
            strmer = myrange.Value
            intcot = myrange.MergeArea.Count
            myrange.UnMerge
            Range(Cells(i, j), Cells(i + intcot - 1, j)).Value = strmer
            i = i + intcot - 1
        Next i
    Next j
    Set myrange = Nothing
    '去掉电话号码行,因为电话号码所在列的首行为空(虽然已经合并,但并不影响删除!!),所以利用这点检测到为空则将整列删除.
    For j = totalC To 1 Step -1
        If Range(Cells(1, j), Cells(1, j)).Value = "" Then
            Range(Cells(1, j), Cells(1, j)).EntireColumn.Delete
        End If
    Next j
End Sub

合并单元格源程序如下:

Sub 合并单元格()
    Dim introw As Integer, i As Integer, intcolumn As Integer, j As Integer
    Application.DisplayAlerts = False
    introw = Range("A65536").End(xlUp).Row
    intcolumn = Range("IV1").End(xlToLeft).Column
    Debug.Print intcolumn
    For j = 1 To intcolumn
        For i = introw To 2 Step -1
            If Cells(i, j).Value = Cells(i - 1, j).Value Then
                Range(Cells(i - 1, j), Cells(i, j)).Merge
            End If
        Next i
    Next j
    Application.DisplayAlerts = True
End Sub

菊子曰 今天你 菊子曰了么?

转载于:https://www.cnblogs.com/xiehui/archive/2010/03/07/2004309.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值