我需要一个 Worksheet_Change 事件来根据复杂的矩阵为某些单元格设置数据验证。数据验证应导致单元格下拉列表项!
当您录制宏并插入以分号分隔的列表项时,例如“alfa; beta; gamma; delta”,最终结果会很好,在选定的单元格中,每个项目都位于前一个项目的下方。
您将获得以下代码(由 Excel VBA 完成):
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="alfa; beta; gamma; delta"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
但是,当您在所选单元格中运行录制的宏时,您将在一行中获得所有项目
alfa; beta; gamma; delta
我该如何解决这个问题?
我需要在下一个下方显示的项目!
最佳答案
VBA 是面向英语的,因此您需要使用 ,
:
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="alfa, beta, gamma, delta"
关于vba - 使用单个列表项创建 LIST 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49514970/