Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопрос "Выбрать из списка"...

2.6K
06 марта 2004 года
Lev_ru
35 / / 05.03.2004
Если нажать правой кнопкой мыши на ячейку, то можно выбрать меню "Выбрать из списка"... Как это меню запустить из VBA?
266
10 марта 2004 года
mhaturov
901 / / 23.10.2003
Цитата:
Originally posted by Lev_ru
Если нажать правой кнопкой мыши на ячейку, то можно выбрать меню "Выбрать из списка"... Как это меню запустить из VBA?


Я пробовал записать такой макрос, но, к сожалению, ничего у меня не вышло. Пока покопаю свойства Excel'я, но. боюсь, что тут нужно применение API

2.6K
11 марта 2004 года
Lev_ru
35 / / 05.03.2004
Цитата:
Originally posted by mhaturov

Я пробовал записать такой макрос, но, к сожалению, ничего у меня не вышло. Пока покопаю свойства Excel'я, но. боюсь, что тут нужно применение API



Есть что-то наподобие выбрать из списка, это проверка, но в ней много ненужного. Например, она не сортирует полученный список; нельзя добавить список с другого листа; не исключает пустые строки; не определяет одинаковые значения...

3.7K
11 марта 2004 года
dedtolya
41 / / 12.10.2003
Цитата:
Originally posted by Lev_ru


Есть что-то наподобие выбрать из списка, это проверка, но в ней много ненужного. Например, она не сортирует полученный список; нельзя добавить список с другого листа; не исключает пустые строки; не определяет одинаковые значения...




ShortcutMenus(xlWorksheetCell).MenuItems.Add _
Caption:="ПоМоемуВелению", OnAction:="МойМакрос"

После щелка правой на любой яч. появится контекстное меню с новой строкой - "ПоМоемуВелению", если пожелаем можем запустить
"МойМакрос"
Успехов dedtolya

1.3K
11 марта 2004 года
IKor
116 / / 04.12.2002
Цитата:
Originally posted by Lev_ru


Есть что-то наподобие выбрать из списка, это проверка, но в ней много ненужного. Например, она не сортирует полученный список; нельзя добавить список с другого листа; не исключает пустые строки; не определяет одинаковые значения...



Но, безусловно, это можно записать макрос, повторяющий действия по созданию списка в ячейке, и разобраться как это запрограммировать в VBA.

2.6K
11 марта 2004 года
Lev_ru
35 / / 05.03.2004
Цитата:
Originally posted by dedtolya



ShortcutMenus(xlWorksheetCell).MenuItems.Add _
Caption:="ПоМоемуВелению", OnAction:="МойМакрос"

После щелка правой на любой яч. появится контекстное меню с новой строкой - "ПоМоемуВелению", если пожелаем можем запустить
"МойМакрос"
Успехов dedtolya



А если не нажимать правую кнопку мыши, а просто наводить на ячейку. Как сделать, чтобы появлялся список?

1.3K
11 марта 2004 года
IKor
116 / / 04.12.2002
Цитата:
Originally posted by Lev_ru


А если не нажимать правую кнопку мыши, а просто наводить на ячейку. Как сделать, чтобы появлялся список?


Yfcrkjmrj я знаю, такой возможности в Excel'е нет, в VBA, наверное, тоже.
Если не секрет, то зачем это нужно? для красоты?

3.7K
11 марта 2004 года
dedtolya
41 / / 12.10.2003
Цитата:
Originally posted by IKor

Yfcrkjmrj я знаю, такой возможности в Excel'е нет, в VBA, наверное, тоже.
Если не секрет, то зачем это нужно? для красоты?



Давайте сначала определимся, что ж нам хочется, а уж потом сделаем это так как умеем.

2.6K
11 марта 2004 года
Lev_ru
35 / / 05.03.2004
Цитата:
Originally posted by dedtolya


Давайте сначала определимся, что ж нам хочется, а уж потом сделаем это так как умеем.



Итак, я делаю базу данных для своей фирмы по недвижимости. Так как особых знаний в программировании нет, решил взяться Excel, он вроде самый доступный.
Допустим есть диапазон A2:a65536 и нужно, чтобы в этом диапазоне была возможность быстрого выбора названия улицы. Может у Вас есть какие-то другие предложения по реализации данной функции. У меня есть только одна мысль, это выбор из списка, но как его автоматизировать я не знаю. Конечно можно нажимать правую кнопку мыши для выбора, но хотелось бы, чтобы при наведении на ячейку, выскакивал список улиц или др.значений.

3.7K
14 марта 2004 года
dedtolya
41 / / 12.10.2003
Цитата:
Originally posted by Lev_ru


Итак, я делаю базу данных для своей фирмы по недвижимости. Так как особых знаний в программировании нет, решил взяться Excel, он вроде самый доступный.
Допустим есть диапазон A2:a65536 и нужно, чтобы в этом диапазоне была возможность быстрого выбора названия улицы. Может у Вас есть какие-то другие предложения по реализации данной функции. У меня есть только одна мысль, это выбор из списка, но как его автоматизировать я не знаю. Конечно можно нажимать правую кнопку мыши для выбора, но хотелось бы, чтобы при наведении на ячейку, выскакивал список улиц или др.значений.



Из упорядоченого списка выделяыет (позиционирует)
выбраный в диалоговом окне элемент.
Создадим форму с раскрывающимся списком и кнопкой

Коды для формы:
Private Sub ComboBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim текст As String
Dim c As Range, rng As Range

текст = ComboBox1.Text
If текст = "" Then
Exit Sub
End If
With Sheets("Улицы")
Set rng = .Range("A1:A" & .Range("A1").End(xlDown).Row)
End With
Set c = rng.Find(What:=текст, LookIn:=xlValues, LookAt:=xlWhole, _
SearchDirection:=xlPrevious)
If Not c Is Nothing Then
ComboBox1.ListIndex = c.Row - 2
End If
End Sub

Private Sub CommandButton1_Click()

Sheets("Улицы").Cells(ComboBox1.ListIndex + 2, "A").Select
ActiveWindow.ScrollRow = ComboBox1.ListIndex + 2
ActiveWindow.ScrollColumn = 1

UserForm2.Hide
Unload Me

End Sub

Private Sub UserForm_Initialize()

Dim LstRng As Range

With Sheets("Улицы")
Set LstRng = .Range("A2:A" & _
.Range("A1").End(xlDown).Row)
End With
ComboBox1.List() = LstRng.Value

End Sub


Запускать диалог(форму)

Sub Form_Show()

UserForm1.Show

End Sub
Как работает.
Отсортированный список улиц в столбце "А"(лист "улицы")
В яч [а1] имя поля
Запускаем Form_Show.
Появится форма.
Набираем первые буквы улицы и если "подсказка" то, что надо жмем кнопку.
Можно просто поискать нужную улицу в раскр. списке
Вот и все.
Успехов dedtolya

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог