EDIT: О, ну, похоже, для этого использования VBA совершенно не нужно. Я не удаляю ответ, потому что это сработает, но я не рекомендую это более простому методу!
Я бы использовал VBA для этого. Если вы не боитесь запотевать каким-то кодом, я думаю, что это будет работать. Если вы абсолютный ноль в VBA, я могу дать более подробную помощь.
Откройте редактор Visual Basic и копировать/вставить этот:
'this means it activates when there is change in your worksheet:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A2")) Is Nothing Then 'Checks that the change occurs in the cell A2
If Range("A2") = "Yes" Then 'only enters this if it changed to yes
With Range("A3").Validation 'this little block creates the list. More on this after the code
.delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Paramètres!$C$1:$C$5"
End With
End If
If Range("A2") = "No" Then 'only does this if it changed to no
Range("A3").Validation.delete 'this deletes the list.
End If
End if
End sub
Так что список, в нашем случае, создается или удаляется, когда происходит изменение в ячейке A2. Список содержит элементы, которые вам нужно записать в ячейках C1-C5. (пример: В c1 напишите «привет», в c2 напишите: «до свидания» и т. д.). Если вы хотите больше или меньше входов, вы можете изменить C1 на C3 или C10, как хотите. Вы также можете сделать список в другом месте (например, столбец E), изменив C. После написания вашего списка в столбце я предлагаю скрывать этот столбец, потому что нет необходимости его видеть.
Отлично! Я пытался получить результат "", если проверка данных не удалась, но ссылка на ячейку с "" работает! tyvm! –
@JeyLegarie - рада помочь! Если это ответ, не могли бы вы пометить его как таковой (нажмите галочку под стрелками вверх/вниз). – BruceWayne