智能进销存软件:革新现代库存管理
138
2023-11-07
【摘要】 本书摘自《Excel VBA跟卢子一起学 早做完 不加班 基础入门版》一书中第4章,第3节,韩小良著。
4.3 合并拆分单元格的操作
无言:讲完了区域集合的运用,接着讲讲在设计Excel工作表时经常用到的操作。 ? 皮蛋: 什么操作呢?
无言: 它就是合并单元格。
皮 蛋 :合并单元格,确实经常会用,而且特别是有时做相同项时,我会对它们进行合并。
合并单元对于后期的统计造成很多意想不到的难度,例如:在运用函数计算时,合并单元 格多少会造成函数公式的统计结果不正确或增加公式的字符长度等,先来看看如何获取区域中 是否存在合并单元格。
判断是否存在合并单元格:Range.MergeCells*
无言:合并单元格在设计使用Excel工作表是经常出现的情况,如果使用位置得当不会对 后期的统计造成不必要的麻烦。例如 一 个鲜亮的大标题用合并单元格来操作,对后期基本无影
响,但是如果是标题字段或者具体数据区域,曜喔,这个可就致命了。
? 皮蛋;那么要如何判断单元格区域中是否存在合并呢,不会是用眼睛看吧?
无言:这个可以,但是最简单就使用Excel的合并单元格功能再单击一次即可,如图4-28 所示。
图4-28 中通过Excel 的【合并后并居中】命令获得③的效果,原来存在合并的单元格区域 都给被分解为一个个独立单元格,且其边框也会消失。但是这个方法对应整体的,如果想要判 断选中的单元格区域中是否存在合并单元格,就要用到 Range.MergeCells 属性了。
如果区域包含合并单元格,则为 True。Variant型,可读写
表达式.MergeCells
Range.MergeCells 属性的作用是:当表达式区域中存在着合并单元格,Merge Cells 将返回 True, 没有则返回 False; 根据该特性判断指定的单元格是否存在着合并单元格,如代码4-18所示。
代码4- 18 判断选中区域是否存在合并单元格
1|Sub RngMergeBol)
21 MsgBox”所选中单元格:"& Selection.Address(0,0)&vbCr &lf(Selection.MergcCells,“存在”,“不存
在")&”合并单元格"
3|End Sub
无言:代码4-18示例过程通过Range.MergeCells属性判断Selection (选中的单元格)是否存在合并单元格并返回相应的提示。
皮蛋:就这样简单啊,那如果要有多个合并区域,我要如何获取它们的信息呢?
4.3.2 返回合并单元格信息:Range.MergeArea*
无言:来来,满足你的好奇心,还是以刚才图4-28中的例子来说明,如代码4-19所示。
代码4-19示例过程中 Rng 变量为让用户选取判断区域用,使用Application.InputBox 方法 限制了只能选 Range对象;接着通过IfRng ls Nothing Then Exit Sub 语句判断是否选择单元格, 若返回 True 则退出本过程。
代码4- 19 选择区域中存在合并单元格否并返回相关信息
1|Sub RngsMergeBol)
2| Dim iAs Long,Rng As Range,RngAdd As String,Cous As Long
3| On Error Resume Next
4| Set Rng=Application.InputBox(“请选择一维的单元格区域——某一行(列)的单元格区域。”,”区域 选择",Type:=8)
5| If Rng Is Nothing Then Exit Sub
6| IfRng.Columns.Count>1 Or Rng.Rows.Count=Rows.Count Or Rng.Count =1 Then Exit Sub 71 Fori=1To Rng.Count
8| IfRng(i).MergeCells Then
9| Cous=Cous+1
10| RngAdd=RngAdd&Rng(i).MergeArea.Address(0,0)&","
11| i=i+Rng(i).MergeArea.Rows.Count
12| End If
13| Nexti
14|RngAdd=Left(RngAdd,Len(RngAdd)-1)
15| MsgBox" 所选中区域中存在:"&Cous&" 个合并区域,它们的地址是:"&vbCr&RngAdd
16|End Sub
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~