Объединение двух массивов в VBA? - PullRequest
0 голосов
/ 11 декабря 2018

Как мне объединить эти массивы с результатами (2, 4, 5, 3, 7, 6)

array1 = Array(4,5,3,7,6)

array2 = Array(2)

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Вы можете использовать arrayLists.Это также обеспечивает легкую сортировку, если требуется.

Option Explicit
Public Sub test()
    Dim list1 As Object, list2 As Object

    Set list1 = CreateObject("System.Collections.Arraylist")
    Set list2 = CreateObject("System.Collections.Arraylist")
    list1.Add 4
    list1.Add 5
    list1.Add 3
    list1.Add 7
    list1.Add 6
    list2.Add 2
    list1.addRange list2
    list1.Sort
End Sub
0 голосов
/ 11 декабря 2018

Вы можете Join() и объединить два массива, а затем Split() результат обратно в новый массив:

array3 = Split(Join(array2, ",") & "," & Join(array1, ","), ",")

Объяснение:
Join() вернет строку, в которой каждый элемент массива (первый параметр) будет разделен "," (вторым параметром).Мы объединяем эти два объединенных массива еще с одной запятой, чтобы получить строку типа 2,4,5,3,7,6.Затем мы используем Split(), чтобы превратить эту строку обратно в массив, сообщающий Split(), что разделитель - запятая ",".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...