Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Срабатывание макроса при изменении масштаба окна - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Срабатывание макроса при изменении масштаба окна
PakhomovNik Дата: Вторник, 08.04.2014, 16:02 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
Здравствуйте! Подскажите пожалуйста, как можно заставить крутится скрипт, постоянно?
Вобщем дело такое. Я написал скрипт при котором бы несколько столбцов, при изменении масштаба страницы, скрывались.
Но ни как не могу заставить его отрабатывать именно по изменению зума.
Скрипт такой:

[vba]
Код
Sub
If ActiveWindow.Zoom = 214 Then
Columns("E:H").Select
Selection.EntireColumn.Hidden = True
End if
End Sub
[/vba]

Какое действие сюда можно присобачить, чтобы он реагировал на зум?
[moder]Оформляйте коды тегами (кнопка #)[/moder]
 
Ответить
СообщениеЗдравствуйте! Подскажите пожалуйста, как можно заставить крутится скрипт, постоянно?
Вобщем дело такое. Я написал скрипт при котором бы несколько столбцов, при изменении масштаба страницы, скрывались.
Но ни как не могу заставить его отрабатывать именно по изменению зума.
Скрипт такой:

[vba]
Код
Sub
If ActiveWindow.Zoom = 214 Then
Columns("E:H").Select
Selection.EntireColumn.Hidden = True
End if
End Sub
[/vba]

Какое действие сюда можно присобачить, чтобы он реагировал на зум?
[moder]Оформляйте коды тегами (кнопка #)[/moder]

Автор - PakhomovNik
Дата добавления - 08.04.2014 в 16:02
Alex_ST Дата: Вторник, 08.04.2014, 17:01 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3219
Репутация: 622 ±
Замечаний: 0% ±

2003
Согласно Справке Window Object не имеет Events
Т.е. не вызывает программных событий.
Поэтому при изменении масштаба окна никаких оповещений об этом, которые можно было бы обработать и вызвать таким образом Ваш макрос скрытия/показа столбцов нельзя.
Надо придумать какой-нибудь "костыль".
Например, при кликах по ячейкам листа будут возникать события Worksheet_SelectionChange
Припишите вызов Вашего макроса с проверкой Зума к этому событию. Тогда у Вас при самом изменении масштаба ничего не изменится, но при первом же изменении активной ячейки произойдёт событие Worksheet_SelectionChange, по которому будут скрыты/показаны столбцы
В общем, что-то типа такого получится:
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     Columns("E:H").EntireColumn.Hidden = ActiveWindow.Zoom <= 214
End Sub
[/vba]

Но название топика - это ВООБЩЕ! При чём тут глобальные переменные? Поменяйте на что-то типа Срабатывание макроса при изменении масштаба окна. А то ай-яй-яй от модераторов получите.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 08.04.2014, 17:12
 
Ответить
СообщениеСогласно Справке Window Object не имеет Events
Т.е. не вызывает программных событий.
Поэтому при изменении масштаба окна никаких оповещений об этом, которые можно было бы обработать и вызвать таким образом Ваш макрос скрытия/показа столбцов нельзя.
Надо придумать какой-нибудь "костыль".
Например, при кликах по ячейкам листа будут возникать события Worksheet_SelectionChange
Припишите вызов Вашего макроса с проверкой Зума к этому событию. Тогда у Вас при самом изменении масштаба ничего не изменится, но при первом же изменении активной ячейки произойдёт событие Worksheet_SelectionChange, по которому будут скрыты/показаны столбцы
В общем, что-то типа такого получится:
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     Columns("E:H").EntireColumn.Hidden = ActiveWindow.Zoom <= 214
End Sub
[/vba]

Но название топика - это ВООБЩЕ! При чём тут глобальные переменные? Поменяйте на что-то типа Срабатывание макроса при изменении масштаба окна. А то ай-яй-яй от модераторов получите.

Автор - Alex_ST
Дата добавления - 08.04.2014 в 17:01
PakhomovNik Дата: Вторник, 08.04.2014, 17:15 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
После добавления Worksheet_SelectionChange появляется вот это:

Compile Error:
Procedure declaration does nat match description of event or
procedure having the same name

Я так понимаю, что данное событие уже где-то используется. А как достучаться до уже написанных скриптов разработчиком?
 
Ответить
СообщениеПосле добавления Worksheet_SelectionChange появляется вот это:

Compile Error:
Procedure declaration does nat match description of event or
procedure having the same name

Я так понимаю, что данное событие уже где-то используется. А как достучаться до уже написанных скриптов разработчиком?

Автор - PakhomovNik
Дата добавления - 08.04.2014 в 17:15
Alex_ST Дата: Вторник, 08.04.2014, 17:18 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3219
Репутация: 622 ±
Замечаний: 0% ±

2003
Вы в какой модуль добавляете? Надеюсь, в модуль листа? Только в них есть события Worksheet_SelectionChange



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 08.04.2014, 17:21
 
Ответить
СообщениеВы в какой модуль добавляете? Надеюсь, в модуль листа? Только в них есть события Worksheet_SelectionChange

Автор - Alex_ST
Дата добавления - 08.04.2014 в 17:18
PakhomovNik Дата: Вторник, 08.04.2014, 17:19 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
Не-Не-Не, все норм. Спасибо большое за помощь.
А можно как-то привязать к событию часов?
Ну то есть по изменению секунд скрипт постоянно крутился бы.
 
Ответить
СообщениеНе-Не-Не, все норм. Спасибо большое за помощь.
А можно как-то привязать к событию часов?
Ну то есть по изменению секунд скрипт постоянно крутился бы.

Автор - PakhomovNik
Дата добавления - 08.04.2014 в 17:19
Alex_ST Дата: Вторник, 08.04.2014, 17:24 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3219
Репутация: 622 ±
Замечаний: 0% ±

2003
Николай, Вам мало 40% уровня замечаний?
Меняйте название топика, а то ещё накинут. И будут абсолютно правы.

События часов в смысле таймер? Это, конечно, можно, но с каким периодом Вы будете его вызывать чтобы не сильно тормозить Ёксель?
Да и выполнение макроса ЧАЩЕ ВСЕГО сбрасывает буфер обмена и к тому же делает невозможным UnDo.
Так что вряд ли Вам это понравится.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеНиколай, Вам мало 40% уровня замечаний?
Меняйте название топика, а то ещё накинут. И будут абсолютно правы.

События часов в смысле таймер? Это, конечно, можно, но с каким периодом Вы будете его вызывать чтобы не сильно тормозить Ёксель?
Да и выполнение макроса ЧАЩЕ ВСЕГО сбрасывает буфер обмена и к тому же делает невозможным UnDo.
Так что вряд ли Вам это понравится.

Автор - Alex_ST
Дата добавления - 08.04.2014 в 17:24
PakhomovNik Дата: Вторник, 08.04.2014, 17:27 | Сообщение № 7
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
Да я не знаю как изменить название...
 
Ответить
СообщениеДа я не знаю как изменить название...

Автор - PakhomovNik
Дата добавления - 08.04.2014 в 17:27
Alex_ST Дата: Вторник, 08.04.2014, 21:48 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3219
Репутация: 622 ±
Замечаний: 0% ±

2003
Зарегистрированный пользователь, создавший пост, может в течение суток после создания топика изменить его название.
Для этого нужно на старт-посте нажать "Правка".
В открывшейся форме будет возможность исправить название топика



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеЗарегистрированный пользователь, создавший пост, может в течение суток после создания топика изменить его название.
Для этого нужно на старт-посте нажать "Правка".
В открывшейся форме будет возможность исправить название топика

Автор - Alex_ST
Дата добавления - 08.04.2014 в 21:48
PakhomovNik Дата: Среда, 09.04.2014, 08:07 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
Спасибо за помощь! Вы мне очень помогли.
 
Ответить
СообщениеСпасибо за помощь! Вы мне очень помогли.

Автор - PakhomovNik
Дата добавления - 09.04.2014 в 08:07
PakhomovNik Дата: Среда, 09.04.2014, 08:23 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 40% ±

Excel 2007
А название, как Вы говорите "Топика" верное. Мне нужен был ответ на мой вопрос. Можно ли в Excel'e, в VB Добавить условие в глобальную переменную и существуют ли такие вообще. Для, так сказать, "автономной" работы условия. А еже ли нет, то вот как раз Ваша мысль мне и помогла. За это и +1 в репу!
 
Ответить
СообщениеА название, как Вы говорите "Топика" верное. Мне нужен был ответ на мой вопрос. Можно ли в Excel'e, в VB Добавить условие в глобальную переменную и существуют ли такие вообще. Для, так сказать, "автономной" работы условия. А еже ли нет, то вот как раз Ваша мысль мне и помогла. За это и +1 в репу!

Автор - PakhomovNik
Дата добавления - 09.04.2014 в 08:23
Alex_ST Дата: Среда, 09.04.2014, 08:31 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3219
Репутация: 622 ±
Замечаний: 0% ±

2003
А название, как Вы говорите "Топика" верное. Мне нужен был ответ на мой вопрос. Можно ли в Excel'e, в VB Добавить условие в глобальную переменную и существуют ли такие вообще.
Прочтите внимательно свой пост.
Здравствуйте! Подскажите пожалуйста, как можно заставить крутится скрипт, постоянно?
Вобщем дело такое. Я написал скрипт при котором бы несколько столбцов, при изменении масштаба страницы, скрывались.
Но ни как не могу заставить его отрабатывать именно по изменению зума.

Какое действие сюда можно присобачить, чтобы он реагировал на зум?

Здесь есть хоть один намёк на глобальные переменные?
И никакого отношения ни Ваш вопрос, ни мой ответ к глобальным переменным не имеют.
Ваш вопрос именно про обработку событий.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Среда, 09.04.2014, 08:36
 
Ответить
Сообщение
А название, как Вы говорите "Топика" верное. Мне нужен был ответ на мой вопрос. Можно ли в Excel'e, в VB Добавить условие в глобальную переменную и существуют ли такие вообще.
Прочтите внимательно свой пост.
Здравствуйте! Подскажите пожалуйста, как можно заставить крутится скрипт, постоянно?
Вобщем дело такое. Я написал скрипт при котором бы несколько столбцов, при изменении масштаба страницы, скрывались.
Но ни как не могу заставить его отрабатывать именно по изменению зума.

Какое действие сюда можно присобачить, чтобы он реагировал на зум?

Здесь есть хоть один намёк на глобальные переменные?
И никакого отношения ни Ваш вопрос, ни мой ответ к глобальным переменным не имеют.
Ваш вопрос именно про обработку событий.

Автор - Alex_ST
Дата добавления - 09.04.2014 в 08:31
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!