|
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 устройство, проблемы и пути решения. Проблемы с выводом решения на стандартный поток Прошу помощи решения проблемы в перекрестном... Каковы возможные решения проблемы рывков в эмуляторе? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|