簡體   English   中英

使用間接公式進行數據驗證

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM