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

Вход

Регистрация

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

 

= Мир MS Excel/Выпадающий список без блокировки ручного ввода - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Выпадающий список без блокировки ручного ввода (Формулы/Formulas)
Выпадающий список без блокировки ручного ввода
Rikh Дата: Вторник, 30.07.2019, 15:50 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Добрый день, подскажите пожалуйста как сделать так чтобы в любой из ячеек зеленой области таблицы можно было как выбрать наименование из выпадающего списка, так и написать что-то своё.
В текущей версии таблицы при попытке ввода текста выдаёт ошибку.
К сообщению приложен файл: _111.xls(42.0 Kb)
 
Ответить
СообщениеДобрый день, подскажите пожалуйста как сделать так чтобы в любой из ячеек зеленой области таблицы можно было как выбрать наименование из выпадающего списка, так и написать что-то своё.
В текущей версии таблицы при попытке ввода текста выдаёт ошибку.

Автор - Rikh
Дата добавления - 30.07.2019 в 15:50
_Boroda_ Дата: Вторник, 30.07.2019, 15:56 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 15628
Репутация: 6109 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Выделите ячейки, Данные - Проверка данных - на вопрос ответьте "да" - вылезет окошко проверки - перейдите на вкладку "Сообщение об ошибке", снимите галку "Выводить сообщение об ошибке"
Или в окошке "Вид" поставьте "Предупреждение" или "Сообщение"
К сообщению приложен файл: _111_1.xls(56.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеВыделите ячейки, Данные - Проверка данных - на вопрос ответьте "да" - вылезет окошко проверки - перейдите на вкладку "Сообщение об ошибке", снимите галку "Выводить сообщение об ошибке"
Или в окошке "Вид" поставьте "Предупреждение" или "Сообщение"

Автор - _Boroda_
Дата добавления - 30.07.2019 в 15:56
Rikh Дата: Вторник, 30.07.2019, 16:02 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Огромное спасибо)
 
Ответить
СообщениеОгромное спасибо)

Автор - Rikh
Дата добавления - 30.07.2019 в 16:02
krosav4ig Дата: Вторник, 30.07.2019, 17:05 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2211
Репутация: 919 ±
Замечаний: 0% ±

Excel 2007,2010,2013
вариант с UDF c автонаполнением списка
в диспетчере имен именованная формула список
Код
=DropDownList(Sheet1!$B$42)

в проверке данных Источник
Код
=Список
, будет ругаться на ошибку, жмем ок
Сообщение об ошибке можно не отключать
[vba]
Код

Function DropDownList(r As Range) As Range
    
    Dim r0 As Range, r1 As Range
    Static b As Boolean

    If b Then: b = False: Exit Function
   
    Application.Volatile False
    Set r0 = Application.Caller
    If IsEmpty(r(2)) Then
        Set r1 = r
    Else
        Set r1 = r.Parent.Range(r, r.End(xlDown))
    End If
    Set DropDownList = r1
    If r1.Find(r0, , xlValues, xlWhole) Is Nothing And Not IsEmpty(r0) Then
        If MsgBox("Введеное начение не надено." & vbCr & _
                  "Добавить его в cписок?", vbQuestion Or vbYesNo) = vbYes Then
            r1.Offset(r1.Rows.Count)(1, 1) = r0
        Else
            b = True: Exit Function
        End If
    End If
End Function
[/vba]
К сообщению приложен файл: 2065150.xls(72.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Вторник, 30.07.2019, 21:58
 
Ответить
Сообщениевариант с UDF c автонаполнением списка
в диспетчере имен именованная формула список
Код
=DropDownList(Sheet1!$B$42)

в проверке данных Источник
Код
=Список
, будет ругаться на ошибку, жмем ок
Сообщение об ошибке можно не отключать
[vba]
Код

Function DropDownList(r As Range) As Range
    
    Dim r0 As Range, r1 As Range
    Static b As Boolean

    If b Then: b = False: Exit Function
   
    Application.Volatile False
    Set r0 = Application.Caller
    If IsEmpty(r(2)) Then
        Set r1 = r
    Else
        Set r1 = r.Parent.Range(r, r.End(xlDown))
    End If
    Set DropDownList = r1
    If r1.Find(r0, , xlValues, xlWhole) Is Nothing And Not IsEmpty(r0) Then
        If MsgBox("Введеное начение не надено." & vbCr & _
                  "Добавить его в cписок?", vbQuestion Or vbYesNo) = vbYes Then
            r1.Offset(r1.Rows.Count)(1, 1) = r0
        Else
            b = True: Exit Function
        End If
    End If
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 30.07.2019 в 17:05
Rikh Дата: Вторник, 30.07.2019, 17:41 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
krosav4ig, очень сложно для меня, буду разбираться, спасибо)
 
Ответить
Сообщениеkrosav4ig, очень сложно для меня, буду разбираться, спасибо)

Автор - Rikh
Дата добавления - 30.07.2019 в 17:41
krosav4ig Дата: Вторник, 30.07.2019, 21:59 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2211
Репутация: 919 ±
Замечаний: 0% ±

Excel 2007,2010,2013
дополнил код в своем посте, не учел один ньюанс


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениедополнил код в своем посте, не учел один ньюанс

Автор - krosav4ig
Дата добавления - 30.07.2019 в 21:59
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Выпадающий список без блокировки ручного ввода (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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