在VBA中如何将两个Range区域合并为一个新的Range?
VBA合并多个Range区域方法
你可以直接调用VBA内置的Union方法完成Range合并,操作逻辑非常简单:
- 先分别定义你需要合并的两个原始Range对象
- 将两个Range作为参数传入
Application.Union方法,返回的就是合并后的新Range
代码示例
Sub CombineTwoRanges() Dim originalRng1 As Range, originalRng2 As Range, combinedRng As Range ' 赋值两个原始区域 Set originalRng1 = Range("A1:A3") Set originalRng2 = Range("A4:A6") ' 执行合并操作 Set combinedRng = Application.Union(originalRng1, originalRng2) ' 验证合并结果:输出为 $A$1:$A$6 Debug.Print combinedRng.Address End Sub
额外说明
Union方法支持同时合并最多30个Range对象,多个参数直接按顺序传入即可,不限于2个- 待合并的Range即使存在重叠、或者位置不相邻,该方法也可以正常工作,重叠部分会自动去重
- 如果合并后的是不连续区域,遍历的时候需要注意按
Areas集合逐个遍历每个子区域
内容的提问来源于stack exchange,提问作者Mikkel Langmack
相关产品推荐
相关产品推荐

