Ok. Então eu fiz isso via VBA. Digamos que sua validação inicial esteja em D2. Coloque isso no código da planilha1 (clique direito - código de visualização)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(True, True) = "$D$2" Then
Select Case Target
Case "A"
Call Macro1
Case "B"
Call Macro2
Case "C"
Call Macro3
Case "D"
Call Macro4
Case "E"
Call Macro5
Case Else
'Do nothing
End Select
End If
End Sub
Depois de ter isso no código da planilha, crie um módulo e use isso:
Sub Macro1()
Range("E2").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$A$9:$A$13"
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
End Sub
Sub Macro2()
Range("E2").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$B$9:$B$13"
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
End Sub
Sub Macro3()
Range("E2").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$C$9:$C$13"
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
End Sub
Sub Macro4()
Range("E2").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$D$9:$D$13"
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
End Sub
Sub Macro5()
Range("E2").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=$E$9:$E$13"
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
End Sub
Tudo que você precisa agora é alterar as coordenadas da lista e tudo funcionará perfeitamente.