[算表] 合并储存格依照旁边的判断

楼主: ptguitar (佩蒂吉他)   2018-08-01 11:57:57
软件:excel
版本:2007
我有一个表
A x
A x
A y
B y
B x
C k
C k
C x
D x
D x
D y
想要储存格合并的时候
B字段依照A字段合并
现在的宏会变成B字段的就合并一起
档案如附件:
https://drive.google.com/open?id=1HC3AC-tunGI2MTeLfxkEtE_f0dcT0ZeL
我用宏如下
Dim xR As Range, xH As Range
For Each xR In Range([A1], [A65536].End(xlUp))
If xR <> xR(0) Then Set xH = xR
If xR <> xR(2) Then Range(xR, xH).Merge
Next
For Each xR In Range([b1], [b65536].End(xlUp))
If xR <> xR(0) Then Set xH = xR
If xR <> xR(2) Then Range(xR, xH).Merge
Next
不知道这块要怎么改
作者: soyoso (我是耀宗)   2018-08-01 12:12:00
https://i.imgur.com/gTRH3jb.jpg 类似这样连结为a栏的部分,但应先从b栏判断;b栏和a栏差别上为b栏会多个或于a栏下方储存格是否相同,不相同的话则合并储存格
楼主: ptguitar (佩蒂吉他)   2018-08-01 13:52:00
感谢S大 实在太强大了 还要研究看看
作者: soyoso (我是耀宗)   2018-08-01 14:47:00
连结内无看到b栏的写法,也请附上,才清楚没有达到效果的原因https://i.imgur.com/iJ391ao.jpg上述为回文的想法用于for..next;测试以原po所贴的宏结果应也可以达成如以回文想法用于for each..next的话https://i.imgur.com/uHNUjJT.jpg
楼主: ptguitar (佩蒂吉他)   2018-08-01 15:26:00
for each的方式看网络写法 不过不太好懂 再来研究看看
作者: soyoso (我是耀宗)   2018-08-01 15:29:00
以原文范例for..next如要正序写法,可配合工作表函数countif和countifs https://i.imgur.com/UDGqM0h.jpg

Links booklink

Contact Us: admin [ a t ] ucptt.com