关于excel VBA获取合并单元格的属性的问题
我想用VBA获取一个worksheet的部分格式属性,其中就包括合并单元格的情况,请问有没有什么方法可以像Cells(i,j).Interior.Color得到背景色一样...
我想用VBA获取一个worksheet的部分格式属性,其中就包括合并单元格的情况,请问有没有什么方法可以像Cells(i, j).Interior.Color得到背景色一样得到合并单元格的情况,可以知道向下向右分别合并了几个格
展开
3个回答
展开全部
将以下代码复制到VBA任何地方运行。 。
你需要:您的工作表的名称中的代码替换工作表Sheet1
子JC(
J)= 2
工作表Sheet1“请你的名字工作表更换工作表Sheet1
XH:
对于i = j要UsedRange.Rows.Count
变量a等于第i行的值
=细胞( ,1)
如果i = J列A [ - ]其次值
如果i = J然后
B =权利(LEN(A) - INSTR(“ - ”))
“否则,如果名称或等于空
elseif的细胞(2)(J,2)=细胞或细胞(我,2)=“然后
C =(A,LEN(一) - INSTR(右一,” - “))
”如果你按顺序如果val(C)= VAL(B)+ 1
B= C
其他',否则
MsgBox的“第一”&I&“为了线路出现故障!”64 + 0 + 4096 “提示”,
退出子
结束,如果
'出现名称
其他
=我
转到XH
>结束如果
接下来,我
尾与
尾子
你需要:您的工作表的名称中的代码替换工作表Sheet1
子JC(
J)= 2
工作表Sheet1“请你的名字工作表更换工作表Sheet1
XH:
对于i = j要UsedRange.Rows.Count
变量a等于第i行的值
=细胞( ,1)
如果i = J列A [ - ]其次值
如果i = J然后
B =权利(LEN(A) - INSTR(“ - ”))
“否则,如果名称或等于空
elseif的细胞(2)(J,2)=细胞或细胞(我,2)=“然后
C =(A,LEN(一) - INSTR(右一,” - “))
”如果你按顺序如果val(C)= VAL(B)+ 1
B= C
其他',否则
MsgBox的“第一”&I&“为了线路出现故障!”64 + 0 + 4096 “提示”,
退出子
结束,如果
'出现名称
其他
=我
转到XH
>结束如果
接下来,我
尾与
尾子
追问
这是代码换中文吗,求源码,不要中文
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
MergeCells属性确定是否包含合并单元格
MergeArea属性代表合并单元格,配合Rows.count可知道合并的行数,列数也类似解决。
有问题请追问
MergeArea属性代表合并单元格,配合Rows.count可知道合并的行数,列数也类似解决。
有问题请追问
追问
那如果我这是将A1:C2合并,我对前三行检测格式时,我用for循环取属性 Range("A1").MergeArea.Columns.Count,Range("B1").MergeArea.Columns.Count,Range("C1").MergeArea.Columns.Count都是一样的,想要的效果是如果合并了希望左上角第一个格有各种属性,其他都空着,这个能做到吗
追答
能做到的。
合并后的单元格就只显示左上角单元格的各种属性。
设置MergeCells为True合并的单元格不影响各单元格属性。
用Merge方法合并单元格将会使其他单元格属性与左上角的相同。拆分后要删除属性,才能达到你要的效果
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
E6 表示合并单元格其中一个单元格。
MsgBox "合并单元格列数 :" & Range("E6").MergeArea.Columns.Count & vbCrLf & _
"合并单元格行数 :" & Range("E6").MergeArea.Rows.Count
MsgBox "合并单元格列数 :" & Range("E6").MergeArea.Columns.Count & vbCrLf & _
"合并单元格行数 :" & Range("E6").MergeArea.Rows.Count
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |