【VBA案例018】取消合并单元格

  1. 方法一:
  2. 方法二:

大家好!

上一篇内容分享了,用VBA合并单元格的两个方法。本期就来看一下如何取消合并的单元格。

同样的,WPS内置了一键取消合并单元格并填充内容的功能,而Excel用户只能流下羡慕的泪水。

这次介绍两个方法,来实现和WPS一模一样的功能。

第一个方法:使用录制宏的操作,把平时手动取消合并的操作记录下来,并对代码加以修改,来达到目的。第二个方法:使用的循环单元格判断是否合并的方法,其中有几个常用的属性是我们必须要了解掌握的。

两个方法都比较简单。大家可以根据实际情况,酌情选择适用的方法。

以下是VBA代码。详细解析请看文末的视频。

方法一:

1
2
3
4
5
6
7
Sub2()

Range("a1:a20").UnMerge
Range("a1:a20").SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
Range("a1:a20").Value = Range("a1:a20").Value

End Sub

方法二:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub 取消合并单元格()

Dim cel As Range
Dim mRng As Range
Dim mRngVal

For Each cel In Range("a1:a20")
If cel.MergeCells Then
Set mRng = cel.MergeArea
mRngVal = mRng(1, 1)
mRng.UnMerge
mRng.Value = mRngVal
End If
Next

End Sub

原始链接


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 richffan@outlook.com

文章标题:【VBA案例018】取消合并单元格

字数:320

本文作者:Rich Fan

发布时间:2023-10-23, 00:00:00

最后更新:2024-02-27, 08:17:39

原始链接:http://fanrich.github.io/2023/10/22/VBA/VBA%E6%A1%88%E5%88%97/%E3%80%90VBA%E6%A1%88%E4%BE%8B018%E3%80%91%E5%8F%96%E6%B6%88%E5%90%88%E5%B9%B6%E5%8D%95%E5%85%83%E6%A0%BC/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。