|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.06.2013, 00:57 | #1 |
Пользователь
Регистрация: 30.05.2013
Сообщений: 23
|
Макрос не распознает значение из формулы.
Что имеем:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = [H16].Address Then Select Case Target.Value Case "скрыть" Range("6:7").RowHeight = 0 Range("20:21").RowHeight = 14 Case "отобразить" Range("20:21").RowHeight = 0 Range("6:7").RowHeight = 14 End Select End If End Sub Все очень хорошо работает без кнопки, как и нужно, но только если в ячейку H16 вносить данные вручную. Если в эту же ячейку вставить формулу или выбирать в неё значение из выпадающего списка, ничего не получается.Как можно исправить, что-бы макрос смог определять данные полученные формулами или из списка? |
01.06.2013, 01:16 | #2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Если из списка - должно получаться.
Ну а если формула - ловите по пересчёту.
webmoney: E265281470651 Z422237915069 R418926282008
|
01.06.2013, 01:25 | #3 |
Пользователь
Регистрация: 30.05.2013
Сообщений: 23
|
В том то и дело, что не получается, автоматически, только если нажимать на кнопочку. А по поводу формулы не совсем понятно. Можно поподробнее.
Последний раз редактировалось user name; 01.06.2013 в 01:27. |
01.06.2013, 01:45 | #4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Есть событие пересчёта - вот по нему и ловите.
Есть ещё один малоизвестный вариант - ставите невидимый комбобокс, завязанный на эту ячейку с формулой, по его событию делаете дело.
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 01.06.2013 в 01:50. |
01.06.2013, 07:24 | #5 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Пункт 1
user name, выложите на Форуме Excel-книгу со списком, который не вызывает событие "Change". Пункт 2 Событие, которое будет запускаться при изменении формулы, называется "Calculate". Событие "Calculate" запускается при изменении любой формулы на листе, в котором событие находится. Пункт 3 Вместо события "Calculate" можно попробовать использовать пользовательскую функцию. В данном случае нужный макрос будет запускаться при изменении не любой формулы на листе, а только при изменении нужной формулы. Последний раз редактировалось Скрипт; 01.06.2013 в 07:39. |
01.06.2013, 18:51 | #6 |
Пользователь
Регистрация: 30.05.2013
Сообщений: 23
|
Вот файлик. Если сможете помочь будет очень хорошо. Очень сильно нужно в работе. Нужно что-бы данные для условия были или из формулы или из списка, но только не вводились вручную.
|
01.06.2013, 18:57 | #7 |
Пользователь
Регистрация: 30.05.2013
Сообщений: 23
|
И еще вот так.
|
01.06.2013, 20:07 | #8 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
user name, на примере выложенных книг напишите, что нужно сделать. Можно на одном примере.
Последний раз редактировалось Скрипт; 01.06.2013 в 20:10. |
01.06.2013, 21:03 | #9 |
Пользователь
Регистрация: 30.05.2013
Сообщений: 23
|
Если на примере, то в любой книге если внести в ячейку H16 вручную "скрыть или "отобразить" одни строки скрываются, а другие отображаются и это без кнопок, автоматически, а если эти же самые данные внести в эту же ячейку из списка или если в ней будет формула ничего не работает. Нужно чтобы работало все точно также как если бы данные вносились вручную, только данные нужно вносить из списка или из формулы.
Последний раз редактировалось user name; 01.06.2013 в 22:06. |
01.06.2013, 21:25 | #10 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
user name, вы выложили книги. Напишите примерно так:
в книге "Скрытие строк" на листе таком-то нужно в ячейке такой-то сделать то-то. У меня не получается сделать то-то. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как в макрос передавать значение из ячеек Excel | SashaS | Microsoft Office Excel | 3 | 03.03.2012 11:54 |
VBA макрос придаёт неверное значение ячейке | 4istii_listo4ek | Microsoft Office Excel | 4 | 15.10.2010 21:39 |
Не распознает make. | Lunex.08 | Qt и кроссплатформенное программирование С/С++ | 5 | 08.08.2010 16:25 |
макрос изменения формулы в ячейке по назначеной клавише | sdlm | Microsoft Office Excel | 2 | 25.12.2009 13:53 |
Дабавление формулы СУММ через макрос | Neo007 | Microsoft Office Excel | 6 | 23.10.2008 14:37 |