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

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

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

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

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

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

Как определить, какой выпадающий список активен?
Т. е. если я выбрал значение в списке Е2, то курсор должен переместится в С3, а если выбрал значение в списке К2, то курсор должен переместится в I3.
Спасибо!
Вложения
Тип файла: rar p1.rar (3.2 Кб, 15 просмотров)
valerij вне форума Ответить с цитированием
Старый 24.05.2010, 12:03   #2
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Правый клик мыши по ярлычку листа-Исходный текст. Вставляем нижеприведенный код:
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    Application.EnableEvents = False
    Select Case Target.Address(0, 0)
    Case "E2": [C3].Select
    Case "K2": [I3].Select
    End Select
    Application.EnableEvents = True
End Sub
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 24.05.2010, 12:11   #3
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
Вставляем нижеприведенный код
Спасибо!!!!
Совсем забыл за Case, мудрил всякие счетчики....
Все отлично!!!
valerij вне форума Ответить с цитированием
Старый 24.05.2010, 12:14   #4
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Кстати, если смещение постоянное(как в примере - одна строка вниз и два столбца влево) - можно и так:
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Intersect(Target, [E2,K2]) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    Target.Offset(1, -2).Select
    Application.EnableEvents = True
End Sub
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 24.05.2010, 12:36   #5
valerij
Старожил
 
Аватар для valerij
 
Регистрация: 12.05.2007
Сообщений: 2,339
По умолчанию

Цитата:
Сообщение от The_Prist Посмотреть сообщение
Кстати, если смещение постоянное..
Нет, к меня так
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    Application.EnableEvents = False
    Select Case Target.Address(0, 0)
    Case "C2": Cells(AdrR, 3).Select
    Case "I2": Cells(AdrR, 9).Select
    End Select
    Application.EnableEvents = True
End Sub
Где
Public AdrR As Long
Все время меняется
valerij вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перемещение курсора мыши UNREALcv Помощь студентам 1 11.04.2010 11:39
Выпадающий список yadanila HTML и CSS 1 03.12.2009 15:00
Выпадающий список king13 Microsoft Office Excel 2 24.11.2009 13:25
Перемещение курсора kykysya БД в Delphi 2 07.04.2009 20:33
выпадающий список Toxa Microsoft Office Excel 2 23.04.2007 09:40