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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2011, 06:22   #1
СтаниславАВ
Форумчанин
 
Регистрация: 10.10.2010
Сообщений: 107
По умолчанию BeforeDoubleClick и SelectionChange

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("Заказ_недельный[Код]") Is Nothing Then
Call Данные_товара.Show(0) 'окно для создания/редактирования
If Not Intersect(Target, Range("Заказ_недельный[№3]") Is Nothing Then
Call Данные_клиента.Show(0) 'окно для создания/редактирования
End If
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
End Sub

Использую офис 2007. Создал таблицу. Нажимаю в таблице Заказ_недельный в любой ячейке столбца [Код] выводится пользовательская форма Данные_товара, при нажатии на столбец [№3] выводится другая пользовательская форма Данные_клиента. И все это на одном листе.
Макрос выдаем ошибку. В чем дело???
СтаниславАВ вне форума Ответить с цитированием
Старый 24.10.2011, 07:28   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Select Case False
        Case Intersect(Target, Range("Заказ_недельный[Код]")) Is Nothing
            Call Данные_товара.Show(0)    'окно для создания/редактирования
        Case Intersect(Target, Range("Заказ_недельный[№3]")) Is Nothing
            Call Данные_клиента.Show(0)    'окно для создания/редактирования
        Case Else
            ' ничего не делаем, если изменены другие ячейки
    End Select
End Sub
EducatedFool вне форума Ответить с цитированием
Старый 24.10.2011, 07:51   #3
СтаниславАВ
Форумчанин
 
Регистрация: 10.10.2010
Сообщений: 107
Хорошо

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Select Case False
        Case Intersect(Target, Range("Заказ_недельный[Код]")) Is Nothing
            Call Данные_товара.Show(0)    'окно для создания/редактирования
        Case Intersect(Target, Range("Заказ_недельный[№3]")) Is Nothing
            Call Данные_клиента.Show(0)    'окно для создания/редактирования
        Case Else
            ' ничего не делаем, если изменены другие ячейки
    End Select
End Sub
Спасибо большое за помощь. Все заработало.
СтаниславАВ вне форума Ответить с цитированием
Ответ


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