Excel 2010数据validation来检查单元格是否包含逗号值

在Excel 2010中,如果单元格包含','如何做validation,然后popup消息给用户?

如果你想避免不必要的循环使用下面的代码。

Sub findComma() Dim srcRng As Range, findRng As Range Dim firstCell As String Dim lrow As Integer lrow = Range("A" & Rows.Count).End(xlUp).Row Set srcRng = Range("A1:A" & lrow) Set findRng = srcRng.Find(What:=",", LookIn:=xlValues, LookAt:=xlPart) If Not findRng Is Nothing Then firstCell = findRng.Address Do Until findRng Is Nothing MsgBox (findRng.Address & " contains Comma ") findRng.Interior.Color = vbRed Set findRng = srcRng.FindNext(findRng) If findRng.Address = firstCell Then Exit Sub Loop End Sub 

请尝试显示你的工作..

可以说列A包含数据然后在下面的代码工作完美

这是你想要的(testing)

 Sub tested() Dim erange As Range Dim lrow As Integer lrow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row For Each erange In Range("A2:A" & lrow) If InStr(erange.Value, ",") > 0 Then MsgBox (erange.Address & " contains Comma ") erange.Interior.Color = vbRed End If Next erange End Sub 

使用正常的数据validation,你可以试试这个

 =(LEN(A1) = LEN(SUBSTITUTE(A1,",","")))