Решение VBA
Следующие элементы достигнут того, что вы ожидаете, они будут циклически проходить по вашему столбцу B и, если он пуст, добавят раскрывающийся список как Проверка данных в столбце A сзначение «ДОБАВИТЬ», если оно не пустое, добавятся списки «ИЗМЕНИТЬ», «ДОБАВИТЬ», «УДАЛИТЬ»:
Sub foo()
Dim ws As Worksheet: Set ws = Worksheets("Sheet1")
'declare and set the worksheet you are using, amend as required
LastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
'get the last row with data on Column B
For i = 2 To LastRow 'loop from Row 2 to Last
If ws.Cells(i, "B").Value <> "" Then
With ws.Cells(i, "A").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="MODIFY,ADD,DELETE"
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
Else
With ws.Cells(i, "A").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="ADD"
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
End If
Next i
End Sub