数据有效性检查

时间:2013-05-09 21:51:30

标签: excel vba

我有一个文档,我想检查一些列,看看它们是否格式正确。对于不正确的值,我想要一个msgbox,它显示每个实例的值和位置(每个都在一个单独的行上)。

为了防止出现大量错误,我希望为每列做一个消息框。下面我有一个部分代码,但cl.address2 / value2需要改变,也可能是vbanextline,但基本上就是这样。谢谢!

Sub datachecks
    Dim cl as range
    For each cl in range("A:A")
        If cl.format = "dd/mm/yyyy" then
            Msgbox(cl.address & cl.value & vbanextline & cl.address2 & cl.value)

1 个答案:

答案 0 :(得分:1)

我会明确指出每个细胞。 要跟踪找到的单元格,请使用本地String变量,在该变量中添加找到的任何行和回车符或换行符(= Chr(13))。 在这里和那里做了一些小的修正,这应该做到:

Sub datachecks()
    Dim cl As Range
    Dim foundCells As String

    For Each cl In Range("A:A").Cells
        If cl.NumberFormat = "dd/mm/yyyy" Then
            foundCells = foundCells & cl.Address & " " & cl.Value & Chr(13)
        End If
    Next cl
    MsgBox (foundCells)
End Sub