Страница 2 из 3

Re: подключить ActiveX, например Календарь

Добавлено: 15 июл 2008, 17:48
Aent
Gerek,
перенесите код и форму из надстройки в рабочую книгу ...
и будет вам счастье ;)

Re: подключить ActiveX, например Календарь

Добавлено: 15 июл 2008, 18:08
VictorM
чтобы он выпадал в любой ячейке определенного столбца без использования надстроек?
вся прелесть этого календаря в том, что это не надстройка, а обыкновенная UserForm. И, соответственно, отпадают вопросы с подключением и т.д.
А вот "выпадал в любой ячейке определенного столбца" - уточните. При наступлении какого события это "выпадание" должно произойти.

Re: подключить ActiveX, например Календарь

Добавлено: 15 июл 2008, 18:15
Gerek
VictorM писал(а):вся прелесть этого календаря в том, что это не надстройка, а обыкновенная UserForm. И, соответственно, отпадают вопросы с подключением и т.д.
А вот "выпадал в любой ячейке определенного столбца" - уточните. При наступлении какого события это "выпадание" должно произойти.

Хотелось бы, чтобы календарь появлялся при нажатии на ячейку в одном из столбцов.

Re: подключить ActiveX, например Календарь

Добавлено: 15 июл 2008, 20:51
VictorM
Хотелось бы, чтобы календарь появлялся при нажатии на ячейку в одном из столбцов.
определимся:
1. При активации ячейки в столбце (определенном) появляется календарь.
2. После выбора значения в календаре, это значение попадает в активную ячейку.
так?
Посмотрите вложение. Основа - немного переделанный по себя календарь Avsha. Активируете яч. в столбце D, щелчком по дате на календаре выбираете нужное Вам значение, оно попадает в активную ячейку. Вообщем - разберетесь.

Re: подключить ActiveX, например Календарь

Добавлено: 16 июл 2008, 10:39
Gerek
VictorM писал(а):определимся:
1. При активации ячейки в столбце (определенном) появляется календарь.
2. После выбора значения в календаре, это значение попадает в активную ячейку.
так?
Посмотрите вложение. Основа - немного переделанный по себя календарь Avsha. Активируете яч. в столбце D, щелчком по дате на календаре выбираете нужное Вам значение, оно попадает в активную ячейку. Вообщем - разберетесь.

VictorM еще раз огромное Вам спасибо! Подскажите, пожалуйста, возможно ли перенастроить этот замечательный календари так, чтобы он появлялся не просто при выборе ячейки, а при двойном щелчке на ней.

Re: подключить ActiveX, например Календарь

Добавлено: 16 июл 2008, 11:11
VictorM
чтобы он появлялся не просто при выборе ячейки, а при двойном щелчке на ней.
да, можно. Замените код

Код: Выделить всё

Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, [D :D ]) Is Nothing Then Календарь.Show
End Sub
на

Код: Выделить всё

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, [D :D ]) Is Nothing Then Календарь.Show
End Sub

Re: подключить ActiveX, например Календарь

Добавлено: 16 июл 2008, 11:20
Gerek
Еще раз спасибо!

Re: подключить ActiveX, например Календарь

Добавлено: 16 июл 2008, 12:45
Avsha
чтобы после двойного щелчка курсор не заходил в ячейку, можете использовать
Cancel = True

Код: Выделить всё

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

...
 
Cancel = True
End Sub

Re: подключить ActiveX, например Календарь

Добавлено: 16 июл 2008, 12:51
VictorM
Avsha, честно, не понял то, что Вы предложили.
Попробовал добавить Вашу строку - ничего не изменилось.

Re: подключить ActiveX, например Календарь

Добавлено: 16 июл 2008, 21:11
Avsha
двойной щелчок по ячейке - это равносильно нажатию F2 - ячейка берется на редактирование - курсор готов ввести данные в ячейке.

если поставите Cancel = True - ячейка не возьмется на редактирование.

а вот что написано в справке...
Cancel Optional. False when the event occurs. If the event procedure sets this argument to True, the default double-click action isn't performed when the procedure is finished