Здравствуйте! Подскажите пожалуйста, как можно заставить крутится скрипт, постоянно? Вобщем дело такое. Я написал скрипт при котором бы несколько столбцов, при изменении масштаба страницы, скрывались. Но ни как не могу заставить его отрабатывать именно по изменению зума. Скрипт такой:
[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
Согласно Справке 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]
Но название топика - это ВООБЩЕ! При чём тут глобальные переменные? Поменяйте на что-то типа Срабатывание макроса при изменении масштаба окна. А то ай-яй-яй от модераторов получите.
Согласно Справке 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
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Вторник, 08.04.2014, 17:12
Не-Не-Не, все норм. Спасибо большое за помощь. А можно как-то привязать к событию часов? Ну то есть по изменению секунд скрипт постоянно крутился бы.
Не-Не-Не, все норм. Спасибо большое за помощь. А можно как-то привязать к событию часов? Ну то есть по изменению секунд скрипт постоянно крутился бы.PakhomovNik
Николай, Вам мало 40% уровня замечаний? Меняйте название топика, а то ещё накинут. И будут абсолютно правы.
События часов в смысле таймер? Это, конечно, можно, но с каким периодом Вы будете его вызывать чтобы не сильно тормозить Ёксель? Да и выполнение макроса ЧАЩЕ ВСЕГО сбрасывает буфер обмена и к тому же делает невозможным UnDo. Так что вряд ли Вам это понравится.
Николай, Вам мало 40% уровня замечаний? Меняйте название топика, а то ещё накинут. И будут абсолютно правы.
События часов в смысле таймер? Это, конечно, можно, но с каким периодом Вы будете его вызывать чтобы не сильно тормозить Ёксель? Да и выполнение макроса ЧАЩЕ ВСЕГО сбрасывает буфер обмена и к тому же делает невозможным UnDo. Так что вряд ли Вам это понравится.Alex_ST
Зарегистрированный пользователь, создавший пост, может в течение суток после создания топика изменить его название. Для этого нужно на старт-посте нажать "Правка". В открывшейся форме будет возможность исправить название топика
Зарегистрированный пользователь, создавший пост, может в течение суток после создания топика изменить его название. Для этого нужно на старт-посте нажать "Правка". В открывшейся форме будет возможность исправить название топикаAlex_ST
А название, как Вы говорите "Топика" верное. Мне нужен был ответ на мой вопрос. Можно ли в Excel'e, в VB Добавить условие в глобальную переменную и существуют ли такие вообще. Для, так сказать, "автономной" работы условия. А еже ли нет, то вот как раз Ваша мысль мне и помогла. За это и +1 в репу!
А название, как Вы говорите "Топика" верное. Мне нужен был ответ на мой вопрос. Можно ли в Excel'e, в VB Добавить условие в глобальную переменную и существуют ли такие вообще. Для, так сказать, "автономной" работы условия. А еже ли нет, то вот как раз Ваша мысль мне и помогла. За это и +1 в репу!PakhomovNik
А название, как Вы говорите "Топика" верное. Мне нужен был ответ на мой вопрос. Можно ли в Excel'e, в VB Добавить условие в глобальную переменную и существуют ли такие вообще.
Здравствуйте! Подскажите пожалуйста, как можно заставить крутится скрипт, постоянно? Вобщем дело такое. Я написал скрипт при котором бы несколько столбцов, при изменении масштаба страницы, скрывались. Но ни как не могу заставить его отрабатывать именно по изменению зума. … Какое действие сюда можно присобачить, чтобы он реагировал на зум?
Здесь есть хоть один намёк на глобальные переменные? И никакого отношения ни Ваш вопрос, ни мой ответ к глобальным переменным не имеют. Ваш вопрос именно про обработку событий.
А название, как Вы говорите "Топика" верное. Мне нужен был ответ на мой вопрос. Можно ли в Excel'e, в VB Добавить условие в глобальную переменную и существуют ли такие вообще.
Здравствуйте! Подскажите пожалуйста, как можно заставить крутится скрипт, постоянно? Вобщем дело такое. Я написал скрипт при котором бы несколько столбцов, при изменении масштаба страницы, скрывались. Но ни как не могу заставить его отрабатывать именно по изменению зума. … Какое действие сюда можно присобачить, чтобы он реагировал на зум?
Здесь есть хоть один намёк на глобальные переменные? И никакого отношения ни Ваш вопрос, ни мой ответ к глобальным переменным не имеют. Ваш вопрос именно про обработку событий.Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Среда, 09.04.2014, 08:36