将相邻范围添加到现有范围

我有一个相当罕见的问题

我正在尝试创build一个命名范围,其中有几个区域。 使用我将在索引中使用[区域]方法来检索我的数据

我要做的是在Excel中有一个命名的范围指的是几个领域

MyNamedRange指向=“A1:A3,B1:B3,C1:C3”等

这个命名的范围正在用VBA构build,所以我拥有的是

For x = 1 to 10 Set rngTemp = Range(cells(x,1), cells(x,3)) if x > 1 then Set unionRange = union(unionRange, rngTemp) else Set unionRange = rngTemp end if Next x MyWorkBook.Names.Add Name:="MyRange", RefersTo:=unionRange 

但是,这个范围被设置为A1:C3(并且因此不被分成几个区域)

我知道这是因为范围是彼此相邻,但无论如何,我可以重写这个,并确保Excel分裂成几个领域?

最好的祝福,

这是你正在尝试?

 Sub Sample() Dim MyWorkBook As Workbook Dim ws As Worksheet Dim x As Long Dim rngTemp As Range Dim refR1C1 As String '~~> Change this to the relevant workbook Set MyWorkBook = ThisWorkbook '~~> Change this to the relevant Sheet Set ws = MyWorkBook.Sheets("Sheet1") With ws For x = 1 To 10 Set rngTemp = Range(.Cells(x, 1), .Cells(x, 3)) If refR1C1 = "" Then refR1C1 = "=" Else refR1C1 = refR1C1 & .Name & "!" & rngTemp.Address(ReferenceStyle:=xlR1C1) & "," End If Next x refR1C1 = Left(refR1C1, Len(refR1C1) - 1) End With Debug.Print refR1C1 MyWorkBook.Names.Add Name:="MyRange", RefersToR1C1:=refR1C1 Debug.Print Range("MyRange").Areas.Count End Sub 

截图

在这里输入图像说明