0
如何追加兩個具有相同維數的動態數組,然後按照這些數值的升序對數組進行排序?VBA將數組追加到第三個數組中
例如,
Dim a as Variant
a = sheets(1).range("B" & firstRow & ":B" & lastRow)
Dim b as Variant
b = sheets(1).range("C" & firstRow & ":C" & lastRow)
FIRSTROW和LASTROW正確定義。
我的問題是我怎麼可以在數組a之後追加數組b。假設a =(8,3,5)和b =(1,7,2)。數組c必須是(8,3,5,1,7,2)。我嘗試了以下但沒有成功。任何人都可以解釋爲什麼它不工作?
Dim c as variant
c = Join(b, Join(a, ","))
要對數組c中引入的值進行排序,我必須創建一個函數或只能在一個操作中執行?
謝謝
最後一個版本
我已經改變了下面的代碼:
Dim aArray() As variant
aArray = aRange
Dim bArray() As Variant
bArray = bRange
Dim cArray() As Variant
cArray = aArray
Dim i As Integer
For i = 1 To UBound(coutArray)
ReDim Preserve cArray(UBound(aArray)+1) As Variant
cArray(i + UBound(aArray),1) = bArray(i,1)
Next i
我想在aArray當這些結束追加CARRAY()兩個數組將在cArray()中引入。爲什麼這不起作用?我想明白。
我也嘗試通過創建一個函數(How do I Merge two Arrays in VBA?),但然後我怎麼會調用一個過程?它沒有工作。
謝謝!
其實A和B具有的Excel範圍的值。我想在查找數組的值之前,我必須將範圍轉換爲數組。 – vbalearner
我真的不知道你想做什麼。連接將一個sinhgle維數組的所有元素註釋爲一個字符串。例如a =(8,6,9) 加入(a,「/」) 返回字符串「8/6/9」 – Shmukko
我想從兩個不同的列創建兩個數組。然後,我需要將這兩個數組聚合成第三個數組。例如,考慮a =數組(8,3,5)和b =數組(1,72)第三個數組c =數組(1,2,3,5,7,8),其中值按升序排序。 – vbalearner