VBA技巧15 合并单元格操作

VBA技巧15 合并单元格操作

ID:39758525

大小:112.79 KB

页数:6页

时间:2019-07-11

VBA技巧15 合并单元格操作_第1页
VBA技巧15 合并单元格操作_第2页
VBA技巧15 合并单元格操作_第3页
VBA技巧15 合并单元格操作_第4页
VBA技巧15 合并单元格操作_第5页
资源描述:

《VBA技巧15 合并单元格操作》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、技巧1合并单元格操作1-1判断单元格区域是否存在合并单元格Range对象的MergeCells属性可以确定单元格区域是否包含合并单元格,如果该属性返回值为True,则表示区域包含合并单元格。下面的代码判断单元格A1是否包含合并单元格,并显示相应的提示信息。#001SubIsMergeCell()#002IfRange("A1").MergeCells=TrueThen#003MsgBox"包含合并单元格"#004Else#005MsgBox"没有包含合并单元格"#006EndIf#007EndSub如果在指定区域中存在部

2、分合并的单元格,如图11所示,区域E8:I17中包含合并单元格区域F8:G9,H12:I13。判断这样一个单元格区域中是否包含合并单元格,可以使用下面的代码快速判断单元格区域中是否包含部分合并单元格,而不需要遍历单元格。图11包含部分合并单元格的区域#001SubIsMerge()#002IfIsNull(Range("E8:I17").MergeCells)Then#003MsgBox"包含合并单元格"#004Else#005MsgBox"没有包含合并单元格"#006EndIf#007EndSub代码解析:当单元格

3、区域中同时包含合并单元格和非合并单元格时,MergeCells属性将返回Null,因此第2行代码通过该返回结果作为判断条件。运行IsMerge过程结果如图12所示。图12提示信息1-1合并单元格时连接每个单元格的文本使用Excel的“合并及居中”按钮合并多个单元格区域时,Excel仅保留区域左上角单元格的内容,如果用户希望在合并如图13所示单元格区域时,将各个单元格的内容连接起来保存在合并后的单元格区域中,则可以使用下面的代码。图13合并前单元格区域#001SubMergerng()#002DimStrMerge

4、AsString#003DimrngAsRange#004IfTypeName(Selection)="Range"Then#005ForEachrngInSelection#006StrMerge=StrMerge&rng.Value#007Next#008Application.DisplayAlerts=False#009Selection.Merge#010Selection.Value=StrMerge#011Application.DisplayAlerts=True#012EndIf#013EndSub代码

5、解析:Mergerng过程将所选各个单元格的内容连接起来保存在合并后的单元格区域中。第4行代码使用TypeName函数判断当前选定对象是否为Range对象,若是则继续执行代码。第5行到第7行代码将当前选中区域的内容连接起来保存在字符串变量StrMerge中。第8行代码将DisplayAlerts属性设置为False,禁止在合并多重数值区域时,Excel显示的警告信息,如图14所示,以避免中断代码的运行。图14合并多重数值区域时警告信息第9行代码使用Merge方法合并当前选定区域。应用于Range对象的Merge方法通

6、过指定Range对象创建合并单元格,语法如下:expression.Merge(Across)参数expression是必需的,返回一个Range对象。参数Across是可选的,如果该值为True,则将指定区域内的每一行合并为一个合并单元格。默认值为False。第9行也可以使用下面的代码:Selection.MergeCells=True第10行代码将变量StrMerge的值赋给合并后的单元格。运行Mergerng过程结果如图15所示。图15合并单元格结果1-1合并内容相同的连续单元格如果需要合并如图16所示的工作

7、表中B列中部门相同的连续单元格,可以使用下面的代码。图16需合并的工作表#001SubMergerng()#002DimIntRowAsInteger#003DimiAsInteger#004Application.DisplayAlerts=False#005WithSheet1#006IntRow=.Range("A65536").End(xlUp).Row#007Fori=IntRowTo2Step-1#008If.Cells(i,2).Value=.Cells(i-1,2).ValueThen#009.Rang

8、e(.Cells(i-1,2),.Cells(i,2)).Merge#010EndIf#011Next#012EndWith#013Application.DisplayAlerts=True#014EndSub代码解析:第7行到第11行代码,从最后一行开始,向上逐个单元格判断连续两个单元格的内容是否相同,如果相同则

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。