powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Список допустимых значений
4 сообщений из 4, страница 1 из 1
Список допустимых значений
    #33451142
wisenheimer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть несколько поименованных диапазонов с данными. К примеру, книги разных издательств.
Каким образом, используя опцию Данные+Проверка+Список допустимых значений, задать условие, при котором значения списка в ячейке выбирались в зависимости от значения в соседней ячейке.
То есть, если в A1 из списка выбрано издательство Питер, то в B2 в списке допустимых значений отображаются книги только издательства Питер и т.д.
Задача имеет решение для, скажем, B2 через введение формулы проверки значения в Данные+Проверка+Параметры+Условия проверки+Список+Источник, типа ЕСЛИ(A1="Питер";Питер;ЕСЛИ(A1="Вагрис";Вагрис;A1)), где Питер, Вагрис – поименованные диапазоны данных с названиями книг соответствующего издательства. Но таковых вложений м.б. только 7, согласно правилу для ЕСЛИ(;;). Как быть если издательств 40 ...
Заранее спасибо за ответ.
...
Рейтинг: 0 / 0
Список допустимых значений
    #33451463
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
идея такая

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
Private Sub Worksheet_Change(ByVal target As Range)
  If target.Cells.Count =  1  Then
    If target.Column =  2  Then
      Select Case target.Text
        Case "first"
          makeValidation target.Offset(columnoffset:= 1 ), "first"
        Case "second"
          makeValidation target.Offset(columnoffset:= 1 ), "second"
        
      End Select
    End If
  End If
End Sub

Private Sub makeValidation(target As Range, rangename As String)
With target.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=" & rangename
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End Sub

если их 40 - select case лучше заменить на поиск значения в отдельном списке из 40 имен
...
Рейтинг: 0 / 0
Список допустимых значений
    #33453392
wisenheimer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за подсказку, к моему сожалению я еще невполне освоил, а точнее практически не знаю VBA и не имею опыта ни написания/прочтения ни внедрения программных модулей в сам Excel. Большая просьба - объяснить последовательно необходимые действия для того, что бы программка заработала в конкретной ячейке или, может быть есть встроенные инструменты Excel для реализации подобной задачи или есть возможность написать пользовательскую формулу, сняв ограничения на проверку значений, и использовать ее.
...
Рейтинг: 0 / 0
Список допустимых значений
    #33455272
Дмит
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Составь дополнительную таблицу соответствия и заместо "Если" используй функцию "ВПР",например.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Список допустимых значений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]