Excel交流网
  • 设为首页|收藏本站|手机版
  • Excel-教程-技巧-培训视频

  • 网站首页
  • Excel教程
  • 新闻动态
  • Excel资源
  • 关于我们

Excel教程

Excel操作
Excel函数
Excel图表
Excel VBA
Excel 行业应用

联系方式

Excel中交流网 联系方式

QQ:18449932 


网  址:www.excel-cn.com  

当前位置:网站首页 > Excel教程 > Excel VBA
Excel VBA

合并某一列相邻区域的相同单元格及逆操作

如下图,合并第一列相邻区域的相同单元格及逆操作。

e1.jpg


合并第一列相邻区域的相同单元格的过程代码

Sub MergeSameCells()

Dim lRow As Integer

Dim i As Long

Application.DisplayAlerts = False

With ActiveSheet

lRow = .Range("A" & Cells.Rows.Count).End(xlUp).Row

For i = lRow To 2 Step -1

If .Cells(i, 1).Value = .Cells(i - 1, 1).Value Then

.Range(.Cells(i - 1, 1), .Cells(i, 1)).Merge

End If

Next

End With

Application.DisplayAlerts = True

End Sub

代码分析

通过一个for循环,从最后一个非空单元格开始,比较相邻两个单元格是否相同,相同则合并;

过程执行后效果如下:

e2.jpg

逆操作,也就是取消合并,并填充空白单元格

Sub unMergeValue()

Dim s As String

Dim i As Long

Dim j As Long

Dim cnt As Integer

j = Range("A" & Cells.Rows.Count).End(xlUp).Row

For i = 2 To j

With Cells(i, 1)

s = .Value

cnt = .MergeArea.Count

.UnMerge

.Resize(cnt, 1).Value = s

End With

i = i + cnt - 1

Next

End Sub

代码分析:

通过一个for循环,从第二行开始,循环内执行以下操作:

  • 取得合并单元格的值S;

  • 逐一取得合并单元格合并的单元格个数(MergeArea.Count);

  • 合并单元格取消合并(UnMerge);

  • 通过resize方法重新取得合并区域,并全部赋值为S;


点击次数:  更新时间:2017-06-24 16:09:16  【打印此页】  【关闭】
上一条:Excel制作圆形温度计图表  下一条:Excel多条件自动筛选、高级筛选提取唯一值
本站动态|在线留言|在线反馈|友情链接|会员中心|站内搜索|网站地图|网站管理

中山市天鸣科技发展有限公司 版权所有 1999-2024 粤ICP备10043721号

QQ:18449932

免费Excel教程、Excel技巧、Excel培训、Excel函数公式、Excel图表、Excel VBA

Excel教程|Excel技巧|Excel培训|Excel函数公式|Excel图表|VBA

Powered by MetInfo 5.3.12 ©2008-2026  www.metinfo.cn