Я хочу добавить раскрывающийся список в ячейку A1 (значение которого равно 2). В раскрывающемся списке есть несколько элементов ("кошки", "собаки", "обезьяны с сыром"). Это просто.

Однако я хочу включить начальное значение ячейки (2) как часть списка динамически. Так должно выглядеть так:

2
cats
dogs
cheese monkeys

Верхнее значение (2) должно быть легко изменено (как нормальная ячейка) И все еще включать в себя другие (не динамические) состояния.

Это должно быть сделано без добавления дополнительных "скрытых" (скрытых) ссылочных ячеек на электронную таблицу. Это также должно быть сделано без VBA/ макросов, поскольку файл должен быть.XLSX. Возможен ли этот обычный гибрид ячейки / выпадающего списка?

2 ответа2

0

Где хранится ваш список?

Если вы хотите ввести данные в ячейку A1, и у вас есть список B1:B4, тогда просто установите формулу в B1 на = A1, и у вас появится раскрывающийся список с исходным значением.

Не уверен, что это квалифицируется как призрачная ячейка, но списки обычно хранятся где-то на листе.

Если вы просто хотите сохранить его во всплывающем окне проверки данных, я не думаю, что это возможно.

0

Введите следующий макрос событий в области кода рабочей таблицы:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Range("A1"), Target) Is Nothing Then Exit Sub
t = Target.Text & ","
t2 = t & "cats,dogs,cheeese monkeys"
Application.EnableEvents = False
With Target.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=t2
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = False
End With
Application.EnableEvents = True
End Sub

Затем введите значение в ячейку A1.

Поскольку это код рабочего листа, его очень легко установить и использовать автоматически:

  1. щелкните правой кнопкой мыши имя вкладки в нижней части окна Excel
  2. выберите View Code - откроется окно VBE
  3. вставьте материал и закройте окно VBE

Если у вас есть какие-либо проблемы, сначала попробуйте на пробную версию.

Если вы сохраните книгу, макрос будет сохранен вместе с ней. Если вы используете версию Excel более поздней, чем в 2003 году, вы должны сохранить файл как .xlsm, а не .xlsx

Чтобы удалить макрос:

  1. вызвать окна VBE, как указано выше
  2. очистить код
  3. закройте окно VBE

Чтобы узнать больше о макросах в целом, смотрите:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

а также

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

Чтобы узнать больше о макросах событий (код листа), см .:

http://www.mvps.org/dmcritchie/excel/event.htm

Макросы должны быть включены, чтобы это работало!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .