使用VBA实现Excel合并相同内容的相邻单元格

本文介绍如何使用VBA解决CSV文件中非数字开头单元格的合并问题。针对数据分析表格,作者需要对整个表格的行列进行操作,只合并非数值单元格,并在Excel 2013中成功应用。在编写过程中,遇到了VBA if语句无短路操作的挑战,以及合并顺序导致的单元格值保留问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写算法的数据分析时生成了csv文件,为了方便查看需要对部分单元格进行合并。

原始的CSV文件用Excel打开有大量如下形式的子表:


而我希望处理之后变成如下格式:


在网上搜索了很久,大多只能对某一列进行操作,而我需要对整个表格的行列都进行这个操作。

除此之外,因为是数据分析的表格,我还希望只对非数字开头的单元格进行合并,即行列标题。

经过多次尝试,终于在以前从来没用过VBA的情况下把这个问题解决了……
(写程序的过程中发现VBA的if居然没有短路操作,只好一层一层嵌套)


有两个值得注意的地方是,

首先,Excel中合并之后的单元格只有左上角的单元格保存的数值,所以需要从右下角往左上角合并;

其次,如果先合并了列,再合并行的话,会把当前单元格左上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值