Как получить значение String из функции, так как мой код получает ошибку компиляции «Неверное количество аргументов или неправильное присвоение свойства» - PullRequest
0 голосов
/ 15 января 2020

Ниже приведен мой код для вызова функции RandomBoysName для получения случайного имени из массива имен в функции

Sub test()

Range("A1").Value = RandomBoysName

End Sub

Ниже приведена функция, которая возвращает случайное имя мальчика из массива.


Public Function RandomBoysName() As String

RandomBoysName = Array("Jacob", "Michael", "Joshua", "Matthew", "Christopher")

randArrIndex = Int((UCase(RandomBoysName) + 1) * Rnd)

RandomBoysName = "TEST"

RandomBoysName = RandomBoysName & RandomBoysName(randArrIndex)

End Function

Получение ошибки Неверное количество аргументов или неправильное присвоение свойства в строке ниже

randArrIndex = Int((UCase(RandomBoysName) + 1) * Rnd)

Ответы [ 2 ]

2 голосов
/ 15 января 2020

Рассмотрим:

Public Function RandomBoysName() As String
    Application.Volatile
    Randomize
    arr = Array("Jacob", "Michael", "Joshua", "Matthew", "Christopher")
    randArrIndex = Int((UBound(arr) + 1) * Rnd)
    RandomBoysName = "TEST"
    RandomBoysName = RandomBoysName & arr(randArrIndex)
End Function
0 голосов
/ 15 января 2020

Я думаю, что вы используете переменные неправильно

этот код поможет вам

Public Function RandomBoysName() As String

BoysName = Array("Jacob", "Michael", "Joshua", "Matthew", "Christopher")
' the number 4 is the number of items in your array including the 0
randArrIndex = Int((4 * Rnd) + 1)

RandomBoysName = "TEST" & BoysName(randArrIndex)

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