Профессиональные приемы работы в Microsoft Excel

Пожалуйста, войдите или зарегистрируйтесь.


Расширенный поиск  

Новости:

Из правил форума: Тема должна отражать суть вопроса, топики типа "help please" будут удаляться!

Автор Тема: Автозавершение ввода из таблицы  (Прочитано 1361 раз)

0 Пользователей и 1 Гость просматривают эту тему.

vasya00

  • Новичок
  • *
  • Уважение: +0/-0
  • Оффлайн Оффлайн
  • Сообщений: 1

Здравствуйте, пытаюсь сделать электронный список назначений, там будут перечислены лекарства, список их в принципе ограничен хотя и не мал. Было бы удобнее использовать автозавершение ввода по первым буквам. Нашёл старую тему с готовым решением https://forum.msexcel.ru/index.php?topic=1538.0 пытаюсь разобраться с кодом, кое что даже удалось дополнить. Сделал запрос для подтверждения добавления нового лекарства в список.
Сейчас озадачился идеей сортировать список лекарств по частоте использования. Теоретически можно при каждом выборе лекарства из списка, прибавлять один к значению в соседнем столбце, и сортировать по убыванию. Никак не могу понять где в коде ячейка с выбранным лекарством, чтобы в соседнюю прибавить 1.
Записан

boa

  • Глобальный модератор
  • Старожил
  • *****
  • Уважение: +32/-0
  • Оффлайн Оффлайн
  • Сообщений: 594
  • Доброта спасет мир...
Re: Автозавершение ввода из таблицы
« Ответ #1 : 22.07.2019, 09:05:04 »

Здравствуйте,
надо изменить макрос AddFIO
Private Sub AddFIO(Text As String)
  'если введено новое ФИО, то добавляем его без спроса в "Список"
Dim oRng As Range, lReply&
    If Application.WorksheetFunction.CountIf([ФИО], Text) = 0 Then
        lReply = MsgBox("Добавить введенное имя " & _
                         Target & " в выпадающий список?", vbYesNo + vbQuestion)
        If lReply = vbYes Then
            Set oRng = Sheets("Список").[A65536].End(xlUp).Offset(1, 0)
            oRng.Value = Text
            Me.ComboBox1.ListFillRange = "ФИО" 'перезагрузка списка поля
        Else
            Exit Sub
        End If
    Else
        Set oRng = Sheets("Список").Columns(1).Find(Text, LookIn:=xlValues, LookAt:=xlWhole)
    End If
    oRng.Offset(0, 1) = oRng.Offset(0, 1) + 1
End Sub
и закомментировать строку прибавления числа в процедуре ComboBox1_LostFocus
Записан
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра
 



Темы без ответов

24.01.2020 14:03 На диаграмме Ганта несоответствие оси Y 2736
09.08.2019 14:09 Макрос для заполнения таблиц через форму 3961
18.07.2019 16:02 Рассылка почты из Excel при помощи почтовой программы TheBAT! 3585
09.07.2019 20:39 Кредит с уменьшением периода выплат 3601
28.05.2019 21:09 Сделать несколько скриптов для рабочей таблицы 4920
05.03.2019 17:00 Последовательный вывод таблиц Excel в один документ Word без шаблона 4312
05.03.2019 09:29 Нежелательные изменение размеров колонтитула при редактировании 4032
07.02.2019 01:36 Как удалить дубликаты из выпадающего связанного списка? 5070
20.01.2019 12:38 Все варианты частичного суммирования 4260
13.01.2019 12:24 Заполнение диапазона числами - в виде кластеров 3770





Яндекс цитирования msexcel.ru Яндекс.Метрика

Страница сгенерирована за 0.108 секунд. Запросов: 96.