Как я могу предоставить пользователю выпадающее меню в ячейке, которое отображает содержимое из одного столбца, но на самом деле записывает значение из другого столбца в ячейку и сравнивает значения из этого второго столбца?
У меня есть немного кода, который очень близко делает это (кредит: DV0005 с сайта Contextures):
Private Sub Worksheet_Change(ByVal Target As range)
On Error GoTo errHandler
If Target.Cells.Count > 1 Then GoTo exitHandler
If Target.Column = 10 Then
If Target.Value = "" Then GoTo exitHandler
Application.EnableEvents = False
Target.Value = Worksheets("Measures").range("B1") _
.Offset(Application.WorksheetFunction _
.Match(Target.Value, Worksheets("Measures").range("Measures"), 0) - 1, 1)
End If
В раскрывающемся списке отображаются значения из одного столбца, например, столбца B, но когда этот параметр выбран, он фактически записывает значение в той же строке из столбца C в ячейку. Однако проверка данных на самом деле выполняется в отношении столбца B, поэтому, если я вручную введу что-то из столбца C в ячейку и попытаюсь перейти в другую ячейку, проверка данных приведет к ошибке.