2つの配列を結合

2つの配列を結合して1つの配列にする。

2つの配列を結合して1つの配列にします。

VBAに標準実装されている関数では複数の配列を1つに結合する関数がないので配列を結合するための関数を独自に作成する必要があります。
サンプルコードでは最初に2つの配列データを作成し、その配列データをmergeArrDat関数に渡して配列を結合させ、1つになった配列を戻り値として返しています。

動作確認
Windows10/Excel2016:○
Windows11/Excel2024:○

'******************************************************************
' 配列の結合
'******************************************************************
Sub Main_MergeArray()

    '配列データの作成
    Dim vAry1() As Variant
    vAry1 = Array("北海道", "******")
    
    Dim vAry2() As Variant
    vAry2 = Array("青森", "岩手", "宮城", "秋田", "山形", "福島")
    
    
    '配列の結合
    Dim vRtnAry As Variant
    vRtnAry = mergeArray(vAry1, vAry2)
    
    '配列の要素を表示
    Dim i As Long
    For i = 0 To UBound(vRtnAry)
        Debug.Print vRtnAry(i)
    Next

End Sub

'******************************************************************
' 引数で取得した2つの配列を結合
'------------------------------------------------------------------
' 第1引数:結合させる配列1
' 第2引数:結合させる配列2
'------------------------------------------------------------------
' 戻り値 :結合した配列
'******************************************************************
Function mergeArray(getAry1 As Variant, getAry2 As Variant) As Variant
    
    '結合用配列
    Dim vTempArray() As Variant
    
    Dim lAryCnt As Long
    Dim i As Long
    
    '第1引数の配列データを結合用配列に設定する
    For i = LBound(getAry1) To UBound(getAry1)
        ReDim Preserve vTempArray(lAryCnt)
        vTempArray(lAryCnt) = getAry1(i)
        lAryCnt = lAryCnt + 1
    Next


    '第2引数の配列データを結合用配列に追加する
    For i = LBound(getAry2) To UBound(getAry2)
        ReDim Preserve vTempArray(lAryCnt)
        vTempArray(lAryCnt) = getAry2(i)
        lAryCnt = lAryCnt + 1
    Next
    
    mergeArray = vTempArray

End Function

 ■実行結果