|
0 / 0 / 0
Регистрация: 04.03.2020
Сообщений: 71
|
||||||
Excel Передача данных диапазона ячеек листа в функцию при обращении к ней из программы VBA28.06.2023, 13:53. Показов 3977. Ответов 35
Здравствуйте!
Есть функция кубической интерполяции, которая хорошо работает на листе Excel. Появилась необходимость использовать данную функцию в теле программного кода VBA с выводом результата в ячейку листа Excel. У функции 3 аргумента: 1 - диапазон ячеек на листе заданный виде array as variant; 2 - тоже диапазон ячеек на листе заданный виде array as variant соответствующий 1 диапазону; 3 - числовое значение (as variant) которое ищет ближайшие значения и 1 диапазона. Происходит интерполяция значения в первом диапазоне и подбирается соответствующее интерполированное значение из второго диапазона. Как правильно передать массив из ячеек в функцию при ее вызове Примерный код:
Что я делаю не так?
0
|
||||||
| 28.06.2023, 13:53 | |
|
Ответы с готовыми решениями:
35
В чем ошибка в коде при копировании диапазона ячеек с одного листа на другой VBA действия при изменении диапазона ячеек |
|
0 / 0 / 0
Регистрация: 04.03.2020
Сообщений: 71
|
|
| 11.07.2023, 08:03 [ТС] | |
|
Добрый день.
Функция работает неправильно только при работе конструктора (здесь наличие кнопки) Код с нераб функцией интерполяции.xlsm.xls Рассчитанные значения не соответствуют диапазону заявленного значения alfa. Просто как макрос при вызове функции из ячейки (без конструктора) нареканий к коду нет.
0
|
|
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 11.07.2023, 09:42 | |
|
У меня результаты одинаковые
2,16 -0,687000000000004
1
|
|
|
0 / 0 / 0
Регистрация: 04.03.2020
Сообщений: 71
|
|
| 11.07.2023, 09:57 [ТС] | |
|
Вот файл с кодом VBA (на листе присутствует кнопка)
Код с нераб функцией интерполяции.xlsm.xls Функция выдает значения не соответствующие текущему alfa из таблицы
0
|
|
|
0 / 0 / 0
Регистрация: 04.03.2020
Сообщений: 71
|
|
| 11.07.2023, 10:00 [ТС] | |
|
Hugo121,
результаты не соответствуют значению попадающему в диапазон, значение не может быть в принципе больше 2 т.к. в таблице соответствующих значений нет, а второе значение не может быть в принципе отрицательным.
0
|
|
|
|
||
| 11.07.2023, 10:09 | ||
|
art71,
У меня, как и у Hugo121, как бы я не использовал Вашу функцию, ответ один и тот же. То есть, похоже, что-то в консерватории не так
0
|
||
|
0 / 0 / 0
Регистрация: 04.03.2020
Сообщений: 71
|
|
| 12.07.2023, 08:53 [ТС] | |
|
Вот здесь файл где функция кубической интерполяции представлена в виде функции вставленной в ячейку.
Код функции вызывается из ячейки. Макрос интерполяция для форума.xlsm.xls На листе работает корректно. Вот этот модуль с функцией и надо запихать в код VBA по вызову кнопкой с листа.
0
|
|
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
||||||
| 12.07.2023, 09:02 | ||||||
|
Например вот так тоже работает корректно:
0
|
||||||
|
0 / 0 / 0
Регистрация: 04.03.2020
Сообщений: 71
|
|
| 12.07.2023, 10:47 [ТС] | |
|
Hugo121,
Можно выложить реальный файл, который Вы говорите работает?
0
|
|
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 12.07.2023, 10:50 | |
|
Так в вашем файле добавьте код в модуль с функцией и выполните - увидите значение которое в первой ячейке, в H4
0
|
|
|
0 / 0 / 0
Регистрация: 04.03.2020
Сообщений: 71
|
|
| 12.07.2023, 10:57 [ТС] | |
|
Hugo121,
Либо в моем файле что то не так. Он не работает. Поэтому прошу Ваш образец файла.
0
|
|
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 12.07.2023, 11:02 | |
|
Добавил файл, в нём кнопка.
0
|
|
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 12.07.2023, 11:05 | |
|
Вот скрин, я там форматом ячейки добавил знаков после запятой.
0
|
|
|
0 / 0 / 0
Регистрация: 04.03.2020
Сообщений: 71
|
||||||
| 12.07.2023, 11:29 [ТС] | ||||||
|
Hugo121,
Вы используете макрос в рамках листа Excel. Здесь вопросов не возникает. Кнопку которую Вы выводите на экран, в коде VBA не представлена. Должно быть приблизительно так
0
|
||||||
|
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
|
|
| 12.07.2023, 13:10 | |
|
Кнопка ничего не должна. Как и я никому ничего не должен - все кредиты закрыл, детей вырастил...
Но в рамках доброй воли - см. файл. Но помню что были глюки с этими кнопками. Не у меня, претензии к MS
1
|
|
|
|
||||||
| 12.07.2023, 14:02 | ||||||
Сообщение было отмечено art71 как решение
РешениеКликните здесь для просмотра всего текста
1
|
||||||
|
|
||||||
| 12.07.2023, 14:29 | ||||||
0
|
||||||
| 12.07.2023, 14:29 | |
|
Защита листа,книги, диапазона ячеек в Excel Перемещение диапазона ячеек с одного листа на другой
Перенос данных с одного листа на другой при заполнении ячеек Перенос данных с одного листа на другой при заполнении ячеек Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|