Excel 2010数据验证以检查单元格是否包含逗号值
在excel 2010中,如果单元格包含“”,如何进行验证,然后向用户弹出消息?请尝试显示您的工作 假设列A包含数据,那么下面的代码就可以完美地工作了 这是你想要的(经过测试)Excel 2010数据验证以检查单元格是否包含逗号值,excel,vba,Excel,Vba,在excel 2010中,如果单元格包含“”,如何进行验证,然后向用户弹出消息?请尝试显示您的工作 假设列A包含数据,那么下面的代码就可以完美地工作了 这是你想要的(经过测试) 使用普通数据验证,您可以尝试以下方法 =(LEN(A1) = LEN(SUBSTITUTE(A1,",",""))) 如果您想避免不必要的循环,请使用下面的代码 Sub findComma() Dim srcRng As Range, findRng As Range Dim firstCell As
使用普通数据验证,您可以尝试以下方法
=(LEN(A1) = LEN(SUBSTITUTE(A1,",","")))
如果您想避免不必要的循环,请使用下面的代码
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
如果我想对B、C和E列应用验证,如何修改代码?@user1902849更改此
设置srcRng=Range(“A1:E”&lrow)
以对A、B、C、D和E@user1902849如果只需要B、C和E列,则更改此设置srcRng=Union(范围(“B1:C”和lrow)),范围(“E1:E”和lrow))
可以。现在我想将整个excel工作表设置为白色,下面是我的代码,但从systemSub-DefaultFill()Dim lastCol As Integer Dim lastRow As Integer Dim lastRow As Integer Dim erange As Range lastCol=ActiveSheet.Range(“a1”).End(xlToRight)。Column lastRow=ActiveSheet.Cells(65536,lastCol.End(xlUp)。Row erange=ActiveSheet.Range(“a1”,ActiveSheet.Cells(lastRow,lastCol))。如果要对列B、C和E应用验证,请选择erage.Interior.Color=vbWhite End sub如何修改代码?
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