Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2012, 20:39   #1
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию Изменение масштаба листа ScrollBar

Здравствуйте Уважаемые программисты!
Подскажите пожалуйста, как с помощью элемента управления "ScrollBar1", размещенного, например, на Листе1, плавно изменять масштаб текущего листа (допустим с шагом 10), и чтобы выбранное значение запоминалось, если этот Лист вновь будет выбран (активизирован) пользователем. Так как у меня сейчас в макросе при активизации Листа1 определенный диапазон масштабирует лист по ширине следующим кодом:

Private Sub Worksheet_Activate()
Dim ra As Variant
Set ra = Selection
[A6:L6].Select
ActiveWindow.Zoom = True
ra.Select
End Sub

Заранее спасибо.
ольгаг вне форума Ответить с цитированием
Старый 26.06.2012, 08:29   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

А чем Вас не устраивает, удерживая клавишу Ctrl, вращать колесиком мыши?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 26.06.2012, 10:30   #3
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Создайте элемент управления ScrollBar1, в свойствах установите
Min=10
Max=400
SmallChange=10
LargeChange=50
В модуль листа вставьте
Код:
Private Sub ScrollBar1_Change()
ActiveWindow.Zoom = ScrollBar1.Value
End Sub
Вроде все.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 26.06.2012, 11:01   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Создайте элемент управления...В модуль листа вставьте...
Работать будет. Но, мне кажется, что установив масштаб, например, 10%, пользователь после этого вряд ли вновь попадет мышкой в ScrollBar, который уменьшится пропорционально.
Думаю, что лучше создать немодальную пользовательскую форму, содержащую ScrollBar со всеми требуемыми свойствами, расположив ее в удобном месте окна Excel.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 26.06.2012, 12:10   #5
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

ScrollBar остается активным, если не кликнуть по листу, так что можно использовать стрелки вверх-вниз (SmallChange) и PageUp-PageDown (LargeChange)
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 26.06.2012, 12:35   #6
ольгаг
Форумчанин
 
Регистрация: 22.02.2010
Сообщений: 325
По умолчанию

Спасибо большое всем за ответы. Я думаю решение использовать форму разумно, попробую.
ольгаг вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение масштаба изображения прокруткой Русик123 Общие вопросы Delphi 0 10.08.2011 11:36
Изменение масштаба в TImage (как в TChart) Krendel' Помощь студентам 1 10.03.2011 09:16
C ++. Изменение цвета формы scrollbar Seo-optimist Помощь студентам 1 14.12.2010 19:34
Изменение масштаба BaRSyk174 Общие вопросы Delphi 3 30.11.2009 17:12
изменение масштаба ruavia3 Microsoft Office Excel 1 30.07.2009 09:20