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

Вход

Регистрация

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

 

= Мир MS Excel/"Плавающий" комбобокс на листе Excel - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » "Плавающий" комбобокс на листе Excel (VBA+Excel)
"Плавающий" комбобокс на листе Excel
SGerman Дата: Среда, 29.06.2016, 14:41 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация: 4 ±
Замечаний: 20% ±

Excel 2003
Здравствуйте !
На листе есть колонка, в ячейки которой значения нужно не вводить руками, а выбирать из списка.
Можно ли сделать так, что пр выборе любой ячейки в этой колонке вместо нее появлялся ComboBox с заранее поготовленным списком. Пользователь выбирает нужное и в ячейке появляется соотв. текст. При уходе в другую колонку комбобокс попадал, при выборе другой ячейки в этой же колонке комбобокс "переезжал" бы в нее.
Как-то так :)

И еще: а если подобных колонок несколько, обязательно ли для каждой свой комбобокс или можно обойтись одним ?

Спасибо за помощь.


Мудрость приходит со старостью. Но иногда старость приходит одна :)
 
Ответить
СообщениеЗдравствуйте !
На листе есть колонка, в ячейки которой значения нужно не вводить руками, а выбирать из списка.
Можно ли сделать так, что пр выборе любой ячейки в этой колонке вместо нее появлялся ComboBox с заранее поготовленным списком. Пользователь выбирает нужное и в ячейке появляется соотв. текст. При уходе в другую колонку комбобокс попадал, при выборе другой ячейки в этой же колонке комбобокс "переезжал" бы в нее.
Как-то так :)

И еще: а если подобных колонок несколько, обязательно ли для каждой свой комбобокс или можно обойтись одним ?

Спасибо за помощь.

Автор - SGerman
Дата добавления - 29.06.2016 в 14:41
Kamikadze_N Дата: Среда, 29.06.2016, 14:50 | Сообщение № 2
Группа: Пользователи
Ранг: Участник
Сообщений: 75
Репутация: 6 ±
Замечаний: 0% ±

Excel 2010
SGerman, можно использовать формы
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("D:D")) Is Nothing Then
       UserForm1.Show
    End If
[/vba]
а в самой форме [vba]
Код
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 27 Then Unload Me
    If KeyCode = 13 Then
        ActiveCell.Value = Me.ComboBox1.Value
        Unload Me
    End If
End Sub
[/vba]для закрытия окна клавишей Ентер или Еск
К сообщению приложен файл: 0191998.xlsm (14.0 Kb)


Сообщение отредактировал Kamikadze_N - Среда, 29.06.2016, 15:02
 
Ответить
СообщениеSGerman, можно использовать формы
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("D:D")) Is Nothing Then
       UserForm1.Show
    End If
[/vba]
а в самой форме [vba]
Код
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 27 Then Unload Me
    If KeyCode = 13 Then
        ActiveCell.Value = Me.ComboBox1.Value
        Unload Me
    End If
End Sub
[/vba]для закрытия окна клавишей Ентер или Еск

Автор - Kamikadze_N
Дата добавления - 29.06.2016 в 14:50
SGerman Дата: Среда, 29.06.2016, 15:02 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация: 4 ±
Замечаний: 20% ±

Excel 2003
Из Вашего примера я понял, что форма должна появляться рядом я выбранной ячейкой, но она точно не впишется в саму ячейку, т.е. надо в Activate придать ей размеры и позицию на экране кодом ?

Но идея понятна, если не получится "штатными" средствами самого Excel, то попытаюсь сделать что-то подобное

Спасибо


Мудрость приходит со старостью. Но иногда старость приходит одна :)
 
Ответить
СообщениеИз Вашего примера я понял, что форма должна появляться рядом я выбранной ячейкой, но она точно не впишется в саму ячейку, т.е. надо в Activate придать ей размеры и позицию на экране кодом ?

Но идея понятна, если не получится "штатными" средствами самого Excel, то попытаюсь сделать что-то подобное

Спасибо

Автор - SGerman
Дата добавления - 29.06.2016 в 15:02
Kamikadze_N Дата: Среда, 29.06.2016, 15:04 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 75
Репутация: 6 ±
Замечаний: 0% ±

Excel 2010
SGerman, Да форма будет появляться по центру экрана, пример выше в ответе. И Использовать в таком случае Проверку данных и список не подходит?
К сообщению приложен файл: 6556818.xlsx (8.4 Kb)


Сообщение отредактировал Kamikadze_N - Среда, 29.06.2016, 15:09
 
Ответить
СообщениеSGerman, Да форма будет появляться по центру экрана, пример выше в ответе. И Использовать в таком случае Проверку данных и список не подходит?

Автор - Kamikadze_N
Дата добавления - 29.06.2016 в 15:04
SGerman Дата: Среда, 29.06.2016, 15:27 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация: 4 ±
Замечаний: 20% ±

Excel 2003
>Kamikadze_N

То, что нужно, но вот "пипочку" вписать в саму ячейку можно (по правому краю) ?

И, самое главное, я не понял как Вы это сделали. Кода в файле нет, очевидно, что все средствами самого Excel.
Но КАК ? Я пробовал "Создать список" и т.д., но это для ячейки или диапазона ячеек, да все вышло совсем не так красиво, как у Вас :)

Спасибо


Мудрость приходит со старостью. Но иногда старость приходит одна :)
 
Ответить
Сообщение>Kamikadze_N

То, что нужно, но вот "пипочку" вписать в саму ячейку можно (по правому краю) ?

И, самое главное, я не понял как Вы это сделали. Кода в файле нет, очевидно, что все средствами самого Excel.
Но КАК ? Я пробовал "Создать список" и т.д., но это для ячейки или диапазона ячеек, да все вышло совсем не так красиво, как у Вас :)

Спасибо

Автор - SGerman
Дата добавления - 29.06.2016 в 15:27
RAN Дата: Среда, 29.06.2016, 15:27 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
А в поиске набрать слабо было?
http://www.excelworld.ru/forum/2-2065-22815-16-1343377777


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеА в поиске набрать слабо было?
http://www.excelworld.ru/forum/2-2065-22815-16-1343377777

Автор - RAN
Дата добавления - 29.06.2016 в 15:27
SGerman Дата: Среда, 29.06.2016, 15:48 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 97
Репутация: 4 ±
Замечаний: 20% ±

Excel 2003
>RAN

Спасибо за ссылку и особенно за файл, который я там нашел. Практически это решение моей проблемы.
Я искал, конечно, но видимо не то указал в поиске :)


Мудрость приходит со старостью. Но иногда старость приходит одна :)
 
Ответить
Сообщение>RAN

Спасибо за ссылку и особенно за файл, который я там нашел. Практически это решение моей проблемы.
Я искал, конечно, но видимо не то указал в поиске :)

Автор - SGerman
Дата добавления - 29.06.2016 в 15:48
Мир MS Excel » Вопросы и решения » Вопросы по VBA » "Плавающий" комбобокс на листе Excel (VBA+Excel)
  • Страница 1 из 1
  • 1
Поиск:

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