Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Выпадающий список в ячейке(автоматичесое раскрытие) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Выпадающий список в ячейке(автоматичесое раскрытие)
Benos Дата: Среда, 29.03.2023, 18:10 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 45
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013 / 2016 / 365
Добрый день, всем!
Написал макрос, что бы он создавал в ячейке выпадающий список при двойном клике.

[vba]
Код
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    Dim iCellName As String
    If Target.Column = 4 Then
        Call ListCell(Target.Address)
    End If
End Sub

Sub ListCell(aCell)
    Range(aCell).Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="ОС,ИК1,ИК2,ИЛ"
        .IgnoreBlank = True
        .ShowInput = True
        .ShowError = True
        .InCellDropdown = True
    End With
End Sub
[/vba]
Код простой, все работает.

Вопрос в том, можно ли сразу после создания списка... его развернуть, что бы можно было сразу выбрать нужный вариант?
 
Ответить
СообщениеДобрый день, всем!
Написал макрос, что бы он создавал в ячейке выпадающий список при двойном клике.

[vba]
Код
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    Dim iCellName As String
    If Target.Column = 4 Then
        Call ListCell(Target.Address)
    End If
End Sub

Sub ListCell(aCell)
    Range(aCell).Select
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="ОС,ИК1,ИК2,ИЛ"
        .IgnoreBlank = True
        .ShowInput = True
        .ShowError = True
        .InCellDropdown = True
    End With
End Sub
[/vba]
Код простой, все работает.

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

Автор - Benos
Дата добавления - 29.03.2023 в 18:10
Pelena Дата: Среда, 29.03.2023, 18:48 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19281
Репутация: 4446 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
После End With добавьте строчку
[vba]
Код
SendKeys "%{Down}"
[/vba]


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
После End With добавьте строчку
[vba]
Код
SendKeys "%{Down}"
[/vba]

Автор - Pelena
Дата добавления - 29.03.2023 в 18:48
Alex_ST Дата: Четверг, 30.03.2023, 07:42 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3210
Репутация: 609 ±
Замечаний: 0% ±

2003
А ещё, скорее всего, нужно добавить [vba]
Код
Cancel = True 'не входить в режим редактирования ячейки
[/vba] перед [vba]
Код
Call ListCell(Target.Address)
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеА ещё, скорее всего, нужно добавить [vba]
Код
Cancel = True 'не входить в режим редактирования ячейки
[/vba] перед [vba]
Код
Call ListCell(Target.Address)
[/vba]

Автор - Alex_ST
Дата добавления - 30.03.2023 в 07:42
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!