|
239 / 150 / 41
Регистрация: 26.01.2019
Сообщений: 545
|
||||||
| 27.02.2019, 23:38 | ||||||
|
Фактически это проблемой/багом не является, но для меня было некоторое удивление, что в VBA есть ограничение на вложенные выражения (...(...(...(...)))). MS называют это "Слишком сложное выражение". Уж от VBA такого не ожидал.
Подозревал что вся проблема в большом количестве аргументов возводимых в степень. Заменил их на переменные. И тогда стала появляться ошибка Переполнение. ![]() Решение такого безобразия - разбивка выражения на отдельные части. Для матерых пользователей, наверное, это не будет новостью. Надеюсь, начинающим пригодится Кликните здесь для просмотра всего текста
0
|
||||||
| 27.02.2019, 23:38 | |
|
Ответы с готовыми решениями:
126
Готовые решения, примеры и рекомендации начинающим на WPF [Элд Хасп] Обсуждение темы "Готовые решения, примеры и рекомендации начинающим на WPF" Проблемы с алгоритмом решения задачи |
|
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
|||||||
| 28.02.2019, 01:44 | |||||||
|
GeoCod, работает, но в 34 строке Х уже не тот, который использовался для вычисления sinX2,sinX4,sinX6.
Что за задача, в которой потребовались такие длинные выражения? Это записывается как
1
|
|||||||
|
239 / 150 / 41
Регистрация: 26.01.2019
Сообщений: 545
|
||||
| 28.02.2019, 08:09 | ||||
![]() Да, надо было сказать что X и L2 - тестовые данные. По факту они также вычисляются. До этого не приходилось оперировать такими числами в коде, поэтому написал в более привычном виде ))
0
|
||||
|
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
|||||||||||
| 19.04.2019, 17:42 | |||||||||||
|
Excel: Мастер функций подавляет точки останова и оператор Stop в пользовательской функции
Пишем простейшую функцию, вставляем оператор Stop и Msgbox.
При выделенной ячейке с функцией вызываем Мастер функций (Shift+F3) - появляется MsgBox, причем 2 раза! При изменении аргумента в поле ввода Мастера опять 2 раза появляется MsgBox. И вот почему 2 раза: в окне Мастера значение функции отображается дважды - под значениями аргументов и внизу окна, после надписи "Значение:". Видимо, эти две части окна делали разные люди, и каждый написал свой вызов функции ![]() Можно заметить, что после первого появления MsgBox меняется значение функции под аргументами, а после второго - внизу. Если написать функцию, которая возвращает новое значение при каждом вызове
![]() Вывод: не пользуйтесь Мастером функций для отладки пользовательской функции. При обычной вставке функции в ячейку точки останова и оператор Stop работают нормально.
1
|
|||||||||||
|
|
|
| 19.04.2019, 19:31 | |
|
Казанский, Спасибо за инфо!
А вот как происходит расчет функции Rnd, в .xll (на С++) Шаг/Итерация 1 - Выбираем функцию из списка, видим что рендомное значение посчиталось и равно 4827 (см.рис.1) Шаг/Итерация 2 - В библиотеки вторая итерация в этой же функции, теперь рендомное значение равно 5436 (см.рис.2) Шаг/Итерация 3 - Начинается самое интересное! Библиотека отработала, Excel дал возможность ввести данные. Вводим значение в функцию =1, видим в первом результате значение 4827 (первая итерация), во втором результате 5436 (вторая итерация), а в самой библиотеки видим новое (третье) рендомное значение 32391 (см. рис.3) Шаг/Итерация 4 - автоматически происходит следующий шаг в точке останова с новым рендомным значением в библиотеке 14604. т.е. это четвертая итерация (напомню, Excel пока недоступен (кроме ввода единицы), это расчет идет в библиотеке. Видим результат функции уже 32392 (это наше предыдущее 32391+1), второй результат 5436 в мастере (пока без сложения) (см. рис. 4) Шаг/Итерация 5 - заканчиваем ввод формулы в Excel, видим ужу новое рендомное значение в библиотеке 15724 (пятое), в мастере уже не видим, он закрылся. (см.рис.5) Шаг/Итерация 6 - итоговый результат функции 15725 - наше последнее рендомное пятое значение 15724 плюс введенная единица. (см.рис.6) При вводе данных в саму формулу, без мастера, итерация в библиотека одна (рис.7-8) ВЫВОД: Итераций через мастер функций в Excel для библиотек .xll еще больше, далее аналогично вышесказанному - работать через Мастером функций не рекомендуется.
2
|
|
|
|
|
| 19.04.2019, 23:29 | |
|
Добавлю к выводам: видимо мастер функций в Excel работает одинаково и с VBA транслятором/кодом и библиотеками СОМ и XLL, вызывая несколько раз функцию. Хоть эта информация не относится напрямую к теме VBA, посчитал, что будет интересен этот момент.
0
|
|
|
1069 / 107 / 4
Регистрация: 19.12.2012
Сообщений: 458
|
|
| 26.09.2022, 23:27 [ТС] | |
|
Прям не выдержал!
картина первая, хорошая: стартуемся с какой-то функции ... отлично! бегаем, работаем. потом ловим кетч в методе DeforeClose на закрытии книги и - все хорошо! в теле функции весь код жив! - переменные, объекты - бери, пользуй ... картина вторая, плохая: стартуемся как и выше, потом ловим кетч, к примеру на какой-то селекте прямо в "ЭтаКнига", бегаем там по циклу на выходя, отдаем DoEvent ... работаем дальше и ловим кетч в методе BeforeClose на закрытии книги и - все плохо! весь код сдох, все ушли на базу - ни переменных, ни объектов - ни-че-го! пустое поле! все NULL Не все системные события друг на друга так реагируют
0
|
|
| 26.09.2022, 23:27 | |
|
Бывший профессионал cs 1.6 просит решения проблемы USB устройство, проблемы и пути решения. Проблемы с выводом решения на стандартный поток Прошу помощи решения проблемы в перекрестном... Каковы возможные решения проблемы рывков в эмуляторе? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс
Ссылка на сгенерированную музыкальную композицию:
https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013
Я говорю, что Время- как вода
течет. . .
|
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла:
Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
|
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет
Салют, шампанское, овации!
:drink:
|