You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 13:06:03