Код |
---|
Function UOM(x As Double, y As Double) As Double UOM = "=INDIRECT(x) * INDIRECT(y)" End Function |
хочу поменять ее на udf типа =UOM(x,y), но не могу понять, как...
буду благодарен за помощь
14.11.2017 21:02:17
А почему у Вас X и Y as Double? Прочитайте в Справке что принимает функция INDIRECT (он же ДВССЫЛ()) в качестве аргументов
Согласие есть продукт при полном непротивлении сторон
|
|
|
|
14.11.2017 21:05:38
В VBA аналога функции INDIRECT не существует в принципе
Согласие есть продукт при полном непротивлении сторон
|
|
|
|
14.11.2017 22:09:00
а через worksheetfunction.indirect нельзя попробовать?
|
|
|
|
14.11.2017 22:17:19
Попробуйте, кто мешает?
Повторю - нет такой функции. В ней просто нет необходимости. Если Вы зададите вопрос по ЗАДАЧЕ, а не по СПОСОБУ, которым пытаетесь ее решить, да еще и с файлом-примером, то получите нужный Вам ответ гораздо быстрее
Согласие есть продукт при полном непротивлении сторон
|
|
|
|
15.11.2017 00:29:01
... я затупил что-то, там же имена как раз и есть. Спасибо)
Изменено: |
|||||
|
|
15.11.2017 00:42:31
|
|
|
|
15.11.2017 00:47:02
вроде разобрался, все просто, но не первой непривычно. спасибо большое. |
|||
|
|
07.12.2017 11:52:29
Товарищи, здравствуйте) В продолжение темы - как сделать функцию рабочей, если один из параметров отсутствует? Например, сейчас это выглядит как =udf(x,y) Как сделать, чтобы работали варианты =udf(x,), =udf(,y), и =udf(x) (в этом случае y считается равным 1)? Я пробовал вот так, но не работает((
Изменено: |
|||||
|
|
07.12.2017 13:23:52
|
|||
|
|
07.12.2017 13:53:37
Добавление optional ничего не меняет почему-то(
Пробовал по разному - что-то не работает. (у функции снизу type mismatch по y, пробовал по-разному: или ошибка в коде, или ошибка в вычислениях)
|
|||
|
|
07.12.2017 18:22:49
F1 - IsMissing
Владимир
|
|
|
|
07.12.2017 23:30:17
Однако у меня не получается (удаляю на листе х - выдает ошибку)
Изменено: |
|||||
|
|
08.12.2017 00:00:27
Евгений, функция IsMissing применима только к переменным типа Variant. Для String опущенный параметр принимает значение пустой строки, если не указано иное в Optional x="что-то"
|
||||
|
|
|||