excel - EXCEL 数据验证 ISBLANK 不起作用
问题描述
我在 EXCEL 中的数据验证有问题。我尝试将此验证添加到单元格范围:
With zakres.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=IF(ISBLANK($" & _
kolumna_litera(kol_Data_oceny_formalnej) _
& "3),FALSE,status_status_RK)"
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = "Nieprawidłowy status!"
.InputMessage = ""
.ErrorMessage = "Wybierz poprawny status z listy rozwijanej!"
.ShowInput = True
.ShowError = True
End With
kolumna_litera - 代表函数返回列字母(字符串);kol_Data_oceny_formalnej - 代表列数(长);status_status_RK - 代表具有值列表的命名范围;
问题是当单元格 kolumna_litera&3 为空时。然后发生错误 1004 - 在 Validation.Add 行中。当这个单元格被填满时,没有错误。我不知道为什么会这样。有人可以向我解释一下吗?
解决方案
我想我找到了解决方案。问题出FALSE
在公式中的语句上。当单元格kolumna_litera(kol_Data_oceny_formalnej) & "3
为空时,Excel 无法找到包含数据的列表 - 并且无法使用该FALSE
语句。所以我添加了一个包含一个空单元格的命名范围,并将其替换为该范围的名称(称为 PUSTA)。代码现在看起来像这样:
With zakres.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=IF(ISBLANK($" & kolumna_litera(kol_Data_wpływu_RK) & "3),PUSTA,status_status_RK)"
.IgnoreBlank = False
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = "Nieprawidłowy status!"
.InputMessage = ""
.ErrorMessage = "Wybierz poprawny status z listy rozwijanej! Lista ze statusami pojawi się jeśli wpisana została data z wpływem RK."
.ShowInput = True
.ShowError = True
End With
到目前为止它有效,希望这是问题所在。
推荐阅读
- jquery - 使用两个日期选择器时,jquery ui datepicker day highlight 不起作用
- python - 编写带有可选参数的 REST 包装函数的 Pythonic 方法
- java - Dagger2 出现“没有@Provides-annotated 方法就无法提供”的问题。
- opencv - 红细胞计数
- php - Apache 2.4 SetEnv 不工作
- ios - 当我在 UIviewController 上转到 tableview 时无法访问 scrollToRowAtIndexpath
- mysql - 在sql中检索具有多个条件的同一列
- python - 传递空值时列表索引超出范围
- c# - 通过 Windows 服务发送邮件时 LinkedResource 的访问被拒绝错误
- node.js - 如何通过 Recast.Ai Nlp bot 保存信息