我正在尝试创建两个下拉列表,其中第一个将有年,第二个将有几个月。如果我选择2015年,第二次下拉应该只显示从1月到9月的几个月。如果我选择2014年,第二次下拉应该显示所有月份。你们中的任何一个人能帮我解决这个问题吗?
答案 0 :(得分:0)
试试这个短宏:
Sub DVSetup()
Range("A1:B1").Clear
With Range("A1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="2014,2015"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
For i = 1 To 12
Range("C" & i).Value = Format(DateSerial(2000, i, 1), "mmm")
Next i
With Range("B1").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=IF(A1=2014,C1:C12,C1:C9)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End Sub
它在单元格 A1 中设置 DV 以允许在2014年和2015年之间进行选择。它还在单元格中设置 DV B1 允许在 A1 中选择的每年的正确月份范围。