Страницы: 1
RSS
Ошибка типа в моем макросе VBA, Помогите найти ошибку
 
Доброго времени суток!

Помогите найти ошибку.
Код состоит из двух елементов: пользовательская функция и процедура, которая использует ету функцию. Фокус в том, что когда я использую функцию отдельно от процедури (прописиваю ее на листе ексель в строке формули), оказиваеться, что она робочая. Но когда я ету функцию питаюсь использовать в процедуре, то ексель меня уведомляет "Tipe mismatch" :(

К слову, функция вичисляет евклидово расстояние между обектами, а процедура в недалеком будущем должна напоминать чтото издали похожое на K-NN алгоритм.

Файл с примером прикрепил.
Перед исполльзованием кода нужно вибрать диапазон данних на листе.

Буду благодарен любой помощи !!!!
Изменено: DamonParsley - 29.03.2021 00:03:49
 
Цитата
DamonParsley написал:
Фокус в том, что когда я использую функцию отдельно от процедури
а можно увидеть этот фокус в файле?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Да. Прошу прощение, уже сделал модуль и использовал функцию на листе. Файл ниже.
 
Код
Sub Knn()
 
    MsgBox aEDistance([A1:E1], [A2:E2])

End Sub
Спасибо
 
Спасибо, Дмитрий, но ето немного упрощенное решение :)
Может бить подскажете где я ошибся в своих мучениях???
 
Код
Sub Knn()
 Set s = Selection
 Dim s1 As Range, s2 As Range
 Set s1 = s.Resize(1, 5)
 Set s2 = s.Offset(1, 0).Resize(1, 5)
    MsgBox aEDistance(s1, s2)

End Sub
Спасибо
 
R Dmitry, Спасибо за решение!!!, буду ету идею внедрять в алгоритм. Ви мне очень помогли !!!!

П.С. : может подскажете, в чем моя ошибка, чтоби я в следующий раз с такими глупими проблемами сюда не обращался?
Страницы: 1
Наверх