Страницы: 1
RSS
UBound ParamArray
 
Приветствую всех.
Решил написать UDF с использованием ParamArray. Несколько неожиданно оказалось, что ParamArray является массивом массивов. Решил пошариться по этому вопросу. Нашарил использование цикла по массиву первого уровня. Раз это написано, то, наверное, кому-нибудь нужно. Но у меня не получилось создать массив первого уровня с числом элементов больше 1.
Вопрос - в какой ситуации массив первого уровня может содержать  более 1 элемента?
Код
Sub test()
    [a1:b2] = Array(1, 2)
    a = "2"
    Debug.Print fTest(a)
    a = Array(1, 2)
    Debug.Print fTest(a)
    a = [a1:b2].Value
    Debug.Print fTest(a)
    a = [a1:b2]
    Debug.Print fTest(a)
End Sub
Function fTest(ParamArray args())
    fTest = UBound(args)
    ' в какой ситуации этот цикл нужен?
    For Each arg In args
    Next
End Function
 
Доброе время суток
А так?
Код
Debug.Print fTest([A1:A2], [B1:B2], [C2:C3])
'или
Debug.Print fTest(1, 1.2, "one", DateSerial(2020, 1, 1))
Изменено: Андрей VG - 22.03.2020 14:41:37
 
Андрей, спасибо. Проскакивала мысль проверить нечто подобное, но замыслил. Уперся в массив, и ни с места.
Страницы: 1
Наверх