欢迎来到天天文库
浏览记录
ID:53398763
大小:36.00 KB
页数:4页
时间:2020-04-03
《EXCEL中如何用VBA判断某一地址单元格是否为合并单元格.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、EXCEL中如何用VBA判断某一地址单元格是否为合并单元格?如果是,则其为几列几行合并而成?最佳答案SubmyMerge()Setcel=Range("A1")Ifcel.MergeCellsThenMsgBoxcel.Address(0,0)&"为合并单元格,"&"共有"&cel.MergeArea.Rows.Count&"行"&cel.MergeArea.Columns.Count&"列组成"EndSub1、判断单元格区域是否存在合并单元格Range对象的MergeCells属性可以确定单元格区域
2、是否包含合并单元格,如果该属性返回值为True,则表示区域包含合并单元格。下面的代码判断单元格A1是否包含合并单元格,并显示相应的提示信息。1.SubIsMergeCell()2. IfRange("A1").MergeCells=TrueThen3. MsgBox"包含合并单元格"4. Else5. MsgBox"没有包含合并单元格"6. EndIf7.EndSub复制代码如果在指定区域中存在部分合并的单元格,如图1所示,区域E8:I17中包含合并单元格区域F8:G9,H1
3、2:I13。判断这样一个单元格区域中是否包含合并单元格,可以使用下面的代码快速判断单元格区域中是否包含部分合并单元格,而不需要遍历单元格。图1 包含部分合并单元格的区域1.SubIsMerge()2. IfIsNull(Range("E8:I17").MergeCells)Then3. MsgBox"包含合并单元格"4. Else5. MsgBox"没有包含合并单元格"6. EndIf7.EndSub复制代码代码解析:当单元格区域中同时包含合并单元格和非合并单元格时,M
4、ergeCells属性将返回Null,因此第2行代码通过该返回结果作为判断条件。运行IsMerge过程结果如图152所示。图2 提示信息2、合并单元格时连接每个单元格的文本使用Excel的“合并及居中”按钮合并多个单元格区域时,Excel仅保留区域左上角单元格的内容,如果用户希望在合并如图153所示单元格区域时,将各个单元格的内容连接起来保存在合并后的单元格区域中,则可以使用下面的代码。图3 合并前单元格区域1.SubMergerng()2. DimStrMergeAsString3.
5、 DimrngAsRange4. IfTypeName(Selection)="Range"Then5. ForEachrngInSelection6. StrMerge=StrMerge&rng.Value7. Next8. Application.DisplayAlerts=False9. Selection.Merge10. Selection.Value=StrMerge11. Application.DisplayA
6、lerts=True12. EndIf13.EndSub复制代码代码解析:Mergerng过程将所选各个单元格的内容连接起来保存在合并后的单元格区域中。第4行代码使用TypeName函数判断当前选定对象是否为Range对象,若是则继续执行代码。第5行到第7行代码将当前选中区域的内容连接起来保存在字符串变量StrMerge中。第8行代码将DisplayAlerts属性设置为False,禁止在合并多重数值区域时,Excel显示的警告信息,如图4所示,以避免中断代码的运行。图4 合并多重数值区域时警
7、告信息第9行代码使用Merge方法合并当前选定区域。应用于Range对象的Merge方法通过指定Range对象创建合并单元格,语法如下:expression.Merge(Across)参数expression是必需的,返回一个Range对象。参数Across是可选的,如果该值为True,则将指定区域内的每一行合并为一个合并单元格。默认值为False。第9行也可以使用下面的代码:Selection.MergeCells=True第10行代码将变量StrMerge的值赋给合并后的单元格。运行Mergern
8、g过程结果如图5所示。图5 合并单元格结果3、合并内容相同的连续单元格如果需要合并如图6所示的工作表中B列中部门相同的连续单元格,可以使用下面的代码。图6 需合并的工作表1.SubMergerng()2. DimIntRowAsInteger3. DimiAsInteger4. Application.DisplayAlerts=False5. WithSheet16. IntRow=.Range("A65536").End
此文档下载收益归作者所有