如何合并多个非连续范围

时间:2014-08-07 18:18:47

标签: excel vba excel-vba

我试图在多重非连续范围内合并值,但我没有这样做。像我下面的例子

  Set myRange = Range("E6:F8,E12:F14")

  [J10].Consolidate Sources:=myRange,  _
    Function:=xlSum, TopRow:=False, LeftColumn:=True, CreateLinks:=False

我知道我可以在一个地方复制所有范围,然后在连续范围内合并,例如

  [J10].Consolidate Sources:=TempSheet.Range(A1:B10).Address,  _
    Function:=xlSum, TopRow:=False, LeftColumn:=True, CreateLinks:=False

1 个答案:

答案 0 :(得分:1)

Consolidate需要R1C1风格的表格和来源的完整路径

Sub MyConsolidate()
 [J10].Consolidate _
 Sources:=Array("Sheet1!R6C5:R8C6", "Sheet1!R12C5:R14C6"), _
 Function:=xlSum, TopRow:=False, LeftColumn:=True, CreateLinks:=False
End Sub

enter image description here

另外,要将A1表示法转换为R1C1,请使用

Sub RangeToR1c1()
MsgBox Range("E6").Address(ReferenceStyle:=xlR1C1)
End Sub