Validation Excel vba:强制数据验证和最大字段长度
我想对给定范围(D2:D65536)进行一些数据验证 验证标准必须检查范围内的单元格不得为空,文本长度不得超过35 如何使用vba实现此验证 我试过:Validation Excel vba:强制数据验证和最大字段长度,validation,vba,excel,Validation,Vba,Excel,我想对给定范围(D2:D65536)进行一些数据验证 验证标准必须检查范围内的单元格不得为空,文本长度不得超过35 如何使用vba实现此验证 我试过: ' With Range("D2:D65536").Validation ' .Delete ' .Add Type:=xlValidateTextLength, _ ' AlertStyle:=xlValidAlertInformation, _ ' Minimum:
' With Range("D2:D65536").Validation
' .Delete
' .Add Type:=xlValidateTextLength, _
' AlertStyle:=xlValidAlertInformation, _
' Minimum:=2, Maximum:="35"
' .IgnoreBlank = True
' .ErrorTitle = "Validation Error"
' .ErrorMessage = "X mandatory and length should be less than or equal to 35"
' .ShowError = True
' End With
如果验证成功,则返回True,否则返回False
嗯
编辑
您可以阅读使用验证完成的方法。但我认为它对于生产代码来说不够健壮。在没有VBA的情况下验证空单元格是不可能以一致的方式进行的。我想您正在寻找:
Sub Validate()
With Range("D2:D65536").Validation
.Delete
.Add Type:=xlValidateTextLength, _
AlertStyle:=xlValidAlertInformation, _
Operator:=xlBetween, _
Formula1:="2", _
Formula2:="35"
.IgnoreBlank = True
.ErrorTitle = "Validation Error"
.ErrorMessage = "X mandatory and length should be less than or equal to 35"
.ShowError = True
End With
End Sub
F1上的帮助比搜索上的帮助更容易混淆,但请查看Add方法:。您使用的示例是整数,但您希望检查文本长度。@Mohamed慢慢来,在您的问题中写下您的要求。要检查空单元格,您不能使用IsEmpty吗?i、 e.如果(IsEmpty(a.值)或Len(a)>35),则…@是,但在验证公式中使用时,它不会按预期工作
Sub Validate()
With Range("D2:D65536").Validation
.Delete
.Add Type:=xlValidateTextLength, _
AlertStyle:=xlValidAlertInformation, _
Operator:=xlBetween, _
Formula1:="2", _
Formula2:="35"
.IgnoreBlank = True
.ErrorTitle = "Validation Error"
.ErrorMessage = "X mandatory and length should be less than or equal to 35"
.ShowError = True
End With
End Sub