我需要验证具有一些特定要求的单元格。 LEN(A1)= 6,输入值的组成必须如下:大写文本字符,数字值(一位数),大写文本字符,数字值(一位数),大写文本字符,然后是一个数值(一位数)。这是一个例子A1B2C1。
我将使用此字段验证库存中的箱号并正在手动输入。我知道我可以验证输入的长度以及它是文本还是数字,但不是我需要的具体组合。
谢谢
答案 0 :(得分:0)
如果您打算使用VBA,则可以选择检查ASCII码。
要执行此操作,您可以使用
Left([String] , [Amount of Chars])
Mid([String] , [Starting Char] , [Amount of Chars])
Right([String] , [Amount of Chars])
要获取每个角色,请使用
ASC([Character to Check])
获取ASCII码并将其与您期望的相比较。
大写字母等等60到95
请参阅下面的示例代码,而不是最干净但可行。
If Asc(Mid(StringToTest, 1, 1)) >= 60 And Asc(Mid(StringToTest, 1, 1)) <= 95 And _
Asc(Mid(StringToTest, 2, 1)) >= 48 And Asc(Mid(StringToTest, 2, 1)) <= 57 And _
Asc(Mid(StringToTest, 3, 1)) >= 60 And Asc(Mid(StringToTest, 3, 1)) <= 95 And _
Asc(Mid(StringToTest, 4, 1)) >= 48 And Asc(Mid(StringToTest, 4, 1)) <= 57 And _
Asc(Mid(StringToTest, 5, 1)) >= 60 And Asc(Mid(StringToTest, 5, 1)) <= 95 And _
Asc(Mid(StringToTest, 6, 1)) >= 48 And Asc(Mid(StringToTest, 6, 1)) <= 57 Then
Debug.Print "Pass"
Else
Debug.Print "Fail"
End If
答案 1 :(得分:0)
这是您可以使用的另一个选项。将它放入您的工作表模块中,只要您的单元格被更改,它将为您验证格式$#$#$#。我已将其设置为处理单元格“A1”,但您可以将其更改为您需要的任何单元格。或者,您可以将其更改为特定列或特定行中的所有单元格。希望它有所帮助
rowid value1 value2
1 1 2
2 1 3
3 2 4