Excel VBA中,如何判断两个不同单元格是否在同一合并的单元格中?
4个回答
展开全部
可以用下面的代码实现(假设要判断的两个单元格为A1和B1):
Sub main()
Set a= Range("A1").MergeArea
Set b = Range("A1").MergeArea
If a.Address = b.Address Then
MsgBox "同一合并区域"
Else
MsgBox "不是同一合并区域"
End If
End Sub
这里用到的原理,是判断两个单元格合并区域的地址是否一致。
关于此例中用到的MergeArea的相关知识:
MERGEAREA:返回一个 Range对象,该对象代表包含指定单元格的合并区域。如果指定的单元格不在合并区域内,则该属性返回指定的单元格。只读。Variant 类型。
expression.MergeArea
expression 必需。该表达式返回“应用于”列表中的对象之一。
说明
MergeArea属性只应用于单个单元格区域。
本示例为包含单元格 A3 的合并区域赋值:
Set ma = Range("a3").MergeArea
If ma.Address = "$A$3" Then
MsgBox "not merged"
Else
ma.Cells(1, 1).Value = "42"
End If
Sub main()
Set a= Range("A1").MergeArea
Set b = Range("A1").MergeArea
If a.Address = b.Address Then
MsgBox "同一合并区域"
Else
MsgBox "不是同一合并区域"
End If
End Sub
这里用到的原理,是判断两个单元格合并区域的地址是否一致。
关于此例中用到的MergeArea的相关知识:
MERGEAREA:返回一个 Range对象,该对象代表包含指定单元格的合并区域。如果指定的单元格不在合并区域内,则该属性返回指定的单元格。只读。Variant 类型。
expression.MergeArea
expression 必需。该表达式返回“应用于”列表中的对象之一。
说明
MergeArea属性只应用于单个单元格区域。
本示例为包含单元格 A3 的合并区域赋值:
Set ma = Range("a3").MergeArea
If ma.Address = "$A$3" Then
MsgBox "not merged"
Else
ma.Cells(1, 1).Value = "42"
End If
展开全部
使用mergearea属性获取合并区域对象,再用address属性得到它们的地址,如果相同就是在同一合并区域。
例
Sub c()
Set s = Range("a1").MergeArea
Set n = Range("b1").MergeArea
If s.Address = n.Address Then
MsgBox "同一合并区域"
Else
MsgBox "不在同一合并区域"
End If
End Sub
例
Sub c()
Set s = Range("a1").MergeArea
Set n = Range("b1").MergeArea
If s.Address = n.Address Then
MsgBox "同一合并区域"
Else
MsgBox "不在同一合并区域"
End If
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如 A1~A5合并成A1
判断B1,C1是否在A1中
if instr(1,a1,b1)>0 then msgbox("b1在a1中存在")
if instr(1,a1,c1)>0 then msgbox("c1在a1中存在")
if (instr(1,a1,b1)>0) * (instr(1,a1,c1)>0) then msgbox("b1、c1在a1中存在")
判断B1,C1是否在A1中
if instr(1,a1,b1)>0 then msgbox("b1在a1中存在")
if instr(1,a1,c1)>0 then msgbox("c1在a1中存在")
if (instr(1,a1,b1)>0) * (instr(1,a1,c1)>0) then msgbox("b1、c1在a1中存在")
追问
instr 可用于单元格的查询?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用 MergeArea 属性返回合并的区域,
然后判断各个单元格是否在上述区域内即可
然后判断各个单元格是否在上述区域内即可
追问
我解决了,你的方法可以用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询