|
本帖最后由 爱疯 于 2019-12-20 11:20 编辑
Range.UnMerge 方法,取消合并
Range.Merge 方法,合并
Range.MergeCells 属性,可读写,因此也能取消合并
Range.MergeArea 属性,对象所包含的合并区域
'**************************************************************************************
'两句等效
Sub test1()
Range("a1:c5").UnMerge
Range("a1:c5").Merge
Range("a1:c5").MergeCells = False
End Sub
'**************************************************************************************
'如果为 True,则将指定区域中每一行的单元格合并为一个单独的合并单元格。默认值是 False。
Sub test2()
Range("a1:c5").UnMerge
Range("a1:c5").Merge True
End Sub
'**************************************************************************************
'查找合并单元格
Sub test3()
Dim x, y As Range
For Each x In [a1:c5]
'如果x是合并单元格,并且x地址等于x所在合并区域的首个单元格地址,则x并入y中
If x.MergeCells And x.Address = x.MergeArea.Cells(1).Address Then
If y Is Nothing Then
Set y = x
Else
Set y = Union(y, x)
Debug.Print y.Address(0, 0)
End If
End If
Next
If Not y Is Nothing Then y.Select 'y中并入了所有合并区域的首个单元格
End Sub
'**************************************************************************************
'合并练习
'http://www.excelpx.com/thread-306274-1-1.html
Sub test4()
Dim A, i, x
A = Range("a1").CurrentRegion
x = UBound(A)
For i = x To 2 Step -1
If A(i, 1) <> "" Then
If x > i Then Range(Cells(i, 1), Cells(x, 1)).Merge
x = i - 1
End If
Next
End Sub
|
|