VBA в Excel - почему польз. функции не раб наравне с материн

Программирование на Visual Basic for Applications
alleonid
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 122
Зарегистрирован: 14.07.2005 (Чт) 7:01

VBA в Excel - почему польз. функции не раб наравне с материн

Сообщение alleonid » 03.01.2006 (Вт) 15:49

VBA в Excel - почему пользовательские функции не раб наравне с материнскими, т.е. теми что есть в нем изначально при таких процедурах как подбор параметра или поиск решения.
Должны ли они работать вообще?
Может оттого что нет цифровой подписи или сами пользовательские функции коряво написаны
(ну например:

Function УРОТ(A, B)
'Возвращает корень кубического уравнения оттяжки: x-A/x^2=B
Select Case A
Case Is < 0: УРОТ = "A have to be positive!"
Case Is > 0: УРОТ = 1 / 6 * (108 * A + 8 * B ^ 3 + 12 * Sqr(81 * A ^ 2 + 12 * A * B ^ 3)) ^ (1 / 3) + 2 / 3 * B ^ 2 / ((108 * A + 8 * B ^ 3 + 12 * Sqr(81 * A ^ 2 + 12 * A * B ^ 3)) ^ (1 / 3)) + 1 / 3 * B
End Select
End Function

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 03.01.2006 (Вт) 16:10

Гы гы...
Function УРОТ(A, B)...
Function ПРИТУРОК(A, B)...


Гы.

По теме.
А функции помещены в модуль и помечены как Public?
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

hohol_kz
Обычный пользователь
Обычный пользователь
 
Сообщения: 90
Зарегистрирован: 05.08.2005 (Пт) 6:21

Сообщение hohol_kz » 17.01.2006 (Вт) 14:51

А если в представленную функцию аргументом ноль указать?
Забыл чтоль закон Мерфи? Если что-то можно сделать нормально и "через задницу", то сначала будет сделано через задницу. Ты как составитель, просто обязан лишить пользователей этой возможности :)

Надо добавиь такой вариант:
Код: Выделить всё
Case 0 : УРОТ = "Not correct value. Division by zero."


А про работу функции GSerg сказал исчерпывающе: переместить в модуль и объявить как Public.
На правах саморекламмы: "Кофейник" - это тот же "чайник", только круче.


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 82

    TopList