vba判断excel选择区域是否有合并单元格

 我来答
鱼木混猪哟
高粉答主

推荐于2016-05-03 · 专注Office,尤其Excel和VBA
鱼木混猪哟
采纳数:6078 获赞数:33689

向TA提问 私信TA
展开全部
代码及注释如下:
Sub main()
If Selection.MergeCells = True Then'利用Mergecells判断是否含有合并单元格
MsgBox "有合并单元格!"
Else
MsgBox "没有合并单元格!"
End If
End Sub

关于此例中用到的Mergecells的相关知识:
返回或设置一个值,决定包含相同内容的单元是否应该跨越多行或多列分组在一个单个单元中。
object.MergeCells [=value]

MergeCells 属性的语法包含如下部分内容:

object

一个对象表达式,其值为“应用于”列表中的一个对象。
value

一个整数或常数,指定单元分组(合并)。如设置值中所指定。
设置值

value 的设置值如下所示:

常数 值 描述
flexMergeNever 0 不显示。包含相同内容的单元不分组。这是缺省设置。
flexMergeFree 1 自由。包含相同内容的单元总是合并。
flexMergeRestrictRows 2 限制行。只有行中包含相同内容的相邻单元(向当前单元左边)才合并。
flexMergeRestrictColumns 3 限制列。只有列中包含相同内容的相邻单元(向当前单元上方)才合并。
flexMergeRestrictBoth 4 限制行和列。只有在行中(向左)或在列中(向上)包含相同内容的单元才合并。

说明

合并单元的能力使得您能够以一种清晰、简明的方式显示数据。可以连同排序和 MSHFlexGrid的列序函数一起合并使用单元。
要使用 MSHFlexGrid 的单元合并能力:

把 MergeCells 设置为除 0 以外的一个值。(设置值之间的区别在示例中解释。)
为要合并行和列把 MergeRow 和 MergeCol 的数组属性设置为 True。

当使用单元合并能力时,MSHFlexGrid 合并包含相同内容的单元。无论什么时候单元的内容更改,合并都自动的更新。

当 MergeCells 被设置为除 0 (不显示)以外的一个值时,突出显示的选择自动关闭。这样做是为加速重画,也是因为包含合并单元范围的选择可能导致不可预料的结果。
平阳虎01
高粉答主

2015-05-04 · 每个回答都超有意思的
知道大有可为答主
回答量:3.7万
采纳率:75%
帮助的人:8634万
展开全部
Sub IsMerge()
     If IsNull(Range("A8:D17").MergeCells) Then
         MsgBox "包含合并单元格"
     Else
         MsgBox "没有包含合并单元格"
     End If
 End Sub

以上代码判断A8:D17区域是否有合并单元格。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
情定爱情海YYCC
2015-12-27 · 知道合伙人互联网行家
情定爱情海YYCC
知道合伙人互联网行家
采纳数:214 获赞数:3882
毕业于石家庄学院,从事推广工作三年,一直在研究推广问题,现任石家庄丰创网络科技有限SEO一职!

向TA提问 私信TA
展开全部
Range.MergeCells 属性
如果区域包含合并单元格,则为 True。Variant 型,可读写。
语法
表达式.MergeCells

表达式 一个代表 Range 对象的变量。

说明

选定包含合并单元格的区域时,所选定的区域可能与所期望选定的区域不同。使用 Address 属性检验选定区域的地址。
示例
本示例为包含单元格 A3 的合并区域赋值。
Visual Basic for Applications
Set ma = Range("a3").MergeArea
If
Range("a3").MergeCells Then
ma.Cells(1, 1).Value = "42"
End If
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hlhcygs
推荐于2016-12-01 · TA获得超过3174个赞
知道大有可为答主
回答量:2987
采纳率:66%
帮助的人:1921万
展开全部
Sub tx2()
If Selection.MergeCells = True Or IsNull(Selection.MergeCells) Then
MsgBox "所选区域含有合并单元格!"
Else
MsgBox "所选区域含没有合并单元格!"
End If
End Sub
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光上的桥
2015-05-04 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21424 获赞数:65806
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
Range的MergeCells属性可以识别是否合并,值为布尔类型,True表示合并。

例如:
MsgBox Selection.MergeCells
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式