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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2009, 19:51   #1
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию С Книги в Лист

Посоветуйте, у меня было так:
Код:
Private Sub Workbook_Open()
    With Application
        .EnableEvents = False
    .Run "Vniz"
    .Run "Vverh"
                .OnKey "{PGDN}", "Vniz"
            .OnKey "{PGUP}", "Vverh"
        .EnableEvents = True
    End With
End Sub
Но не удобно, тем, что в новых Листах, мне не нужен такой шаг, нужен другой.
Я убрал с книги этот код и пернес в Лист 3, так:
Код:
Private Sub WorksheetFunction()
    With Application
        .EnableEvents = False
    .Run "Vniz"
    .Run "Vverh"
                .OnKey "{PGDN}", "Vniz"
            .OnKey "{PGUP}", "Vverh"
        .EnableEvents = True
    End With
End Sub
Но все осталось по прежнему, шаг остался одинаков для всех листов, а ЧЕ?
valerij вне форума Ответить с цитированием
Старый 30.06.2009, 20:47   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Этот код лишь назначает горячие клавиши для вызова макросов.

Тебе надо внести изменения в код макросов "Vniz" и "Vverh", а именно - добавить проверку активного листа.

Например:
Код:
Sub Vniz()
    Шаг = 50
    If ActiveSheet.Index = 3 Then Шаг = 55
    ' далее твой код
End Sub
Или так:
Код:
Sub Vniz()
    Шаг = 50
    If ActiveSheet.Name = "Лист3" Then Шаг = 55
    ' далее твой код
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 30.06.2009, 21:02   #3
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Тебе надо внести изменения в код макросов "Vniz" и "Vverh"
Игорь, давай я прикреплю, посмотри, чета не поучается.
Когда Private Sub Workbook_Open(), скролл не работает, то, что надо, а если в Лист, скролл работает????
Вложения
Тип файла: rar 2_КВ.rar (37.6 Кб, 11 просмотров)

Последний раз редактировалось valerij; 30.06.2009 в 21:47.
valerij вне форума Ответить с цитированием
Старый 30.06.2009, 23:00   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Добавь в модуль ЭтаКнига:
Код:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    Application.ScreenUpdating = False
    Vniz
    Vverh
End Sub
Цитата:
давай я прикреплю, посмотри, чета не поучается.
Что именно не получается?
Что и как пытался сделать?
EducatedFool вне форума Ответить с цитированием
Старый 30.06.2009, 23:07   #5
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Что именно не получается??
Все получилось, тока почему пустой лист2, исполняет макросы?
Делал так в прищепке
Вложения
Тип файла: rar Кн1.rar (9.9 Кб, 7 просмотров)

Последний раз редактировалось valerij; 01.07.2009 в 22:07.
valerij вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как из одного одной книги экспортировать данные на другой лист mabru Microsoft Office Excel 11 07.01.2009 10:20
снятие пароля с книги/листа из другой книги? Bezdar Microsoft Office Excel 3 25.12.2008 11:59
Лист ZhekON Общие вопросы Delphi 5 17.04.2007 11:34