[英]Data Validation with Indirect formula
我用間接公式創建了一個用於數據驗證的 VBA,但在運行宏時拋出錯誤。 我錯過了什么嗎?
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=INDIRECT(BD2)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
如果INDIRECT
在您創建時未評估為正確范圍,則設置INDIRECT
驗證會引發錯誤 - 如果您手動執行此操作,您會收到一個彈出窗口,提示“您是否仍要繼續”,但在 VBA 中只是失敗了。 使用DisplayAlerts = False
測試似乎無法解決此問題。
我能想到的唯一選擇是使用臨時的、有效的值填充 BD2,或者在INDIRECT
內的IF
語句中包含一個“空”范圍,例如Formula1:="=INDIRECT(IF(LEN(BD2)>0,BD2,""DropDown_Default""))"
,其中DropDown_Default
是包含單個空白單元格的命名范圍。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.