Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/35: Рейтинг темы: голосов - 35, средняя оценка - 4.51
0 / 0 / 1
Регистрация: 11.10.2010
Сообщений: 363

Не обновляются значения пользовательской функции

12.02.2007, 22:37. Показов 7553. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В моем Excel vba приложении около 60 листов. На каждом из них в ячейках с разными адресами нужно вернуть значение из comboboxa, который лежит на одном из листов. чтобы не морочится с перебором листов и поиском этих ячеек, написал функцию.
Visual Basic
1
2
3
Function return_code()
    return_code = ThisWorkbook.Sheets(num_tune_sheet).pr_list.Value
End Function
pr_list - имя comboboxa

num_tune_sheet - индекс листа, где хранится combobox



И все бы хорошо, но почему то, если пользователь меняет значение comboboxа, значения в ячейках не обновляются, до тех пор, пока я не сделаю это руками (F2-enter). Как побороть эту проблему?



С уважением,
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.02.2007, 22:37
Ответы с готовыми решениями:

Фиксированные значения для параметров пользовательской функции
Доброго всем времени суток! При работе с VBA достаточно много создаю вспомогательных фунций. В ряде из них параметы имеют ограниченное...

Работа пользовательской функции
Добрый день, форумчане! Ранее работала пользовательская функция во всех книгах, но здесь не хочет, в чем может быть причина? Мне...

Создание пользовательской функции
Прошу Вас! Cоздайте функцию пользователя z=e^-x*корень |x^3 - у^3|корень закр. - x^2/y Очень Вас прошу помочь Заранее благодарен!

5
22 / 5 / 1
Регистрация: 05.09.2010
Сообщений: 370
13.02.2007, 08:33
может http://www.relib.com/forums/Topic909855-11-1.aspx
0
0 / 0 / 1
Регистрация: 11.10.2010
Сообщений: 363
13.02.2007, 18:34  [ТС]
to: Johny Walker, Masalov ОГРОМНОЕ Спасибо!

Но это все равно не работает. Если поставить точку останова в функцию, то она сработает только после редактирования.



С уважением,
0
alex_g
14.02.2007, 03:46
Application.Volatile True

- устанавливает автоматическое вычисление пользовательской функции. Должно сработать.
0 / 0 / 1
Регистрация: 11.10.2010
Сообщений: 363
14.02.2007, 18:58  [ТС]
Не работает и все! Почему не понимаю. Попробовал даже так.
Visual Basic
1
2
3
4
5
6
7
8
9
Function return_code()
   Application.Volatile True
   return_code = ThisWorkbook.Sheets(num_tune_sheet).pr_list.Value
End Function
 
'вызов функции при изменении выпадающего списка
Private Sub pr_list_Change()
   f = Module3.return_code
End Sub
С уважением,
0
2 / 2 / 1
Регистрация: 10.04.2011
Сообщений: 415
14.02.2007, 19:37
babken76 (14.02.2007)
Не работает и все! Почему не понимаю.
Прости, не прочитал первый пост, а только заголовок. Volatile заставляет Эксель пересчитать помеченную им пользовательскую функцию, только при изменении какой-либо ячейки на том листе, где использована данная функция: The function will be recalculated whenever calculation occurs in any cells on the worksheet on which this function appears (с) Help.

А у тебя, во-первых, вызов идет из другого листа, а во-вторых, меняется не ячейка, а значение ComboBox! Так свяжи каждый комбобокс с конкретной ячейкой, и пользуйся этими ячейками. Тогда и Volatile будет не нужна, так как при изменении значения комбобокса будет меняться ячейка, на которую твоя функция ссылается, и пересчет произойдет автоматически.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.02.2007, 19:37
Помогаю со студенческими работами здесь

Ошибка в пользовательской функции
Всем привет! Стоит у меня Exel 2003 года выпуска, так вот: Написал формулу с Exel в VB и получаю ошибку, как ее решить не знаю, в...

Создание и вызов пользовательской функции
Создаю пользовательскую функцию применения границ ячеек и пытаюсь вызвать ее с аргументом. Выдает ошибку Option Explicit Public...

Создание пользовательской функции в Excel
Помогите решить данную задачу в Excel используя Visual Basic (ALT+F11) Вот типа того: Function stom(a, b) If a > 10 Then stom =...

Синтаксис пользовательской функции массива.
Подскажите, пожалуйста, синтаксис пользовательской функции-массива? Где это находится в Help VBA? Нужно очень срочно!

Создание пользовательской функции в Excel, VBA
Добрый день. Столкнулся с проблемой создания пользовательской функции в MS Excel, используя VBA. Если я правильно понял, это и есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru