1

いくつかの列をチェックして、それらが正しくフォーマットされているかどうかを確認したいドキュメントがあります。正しくない値については、各インスタンスの値と場所を (それぞれ別の行に) 表示する msgbox が必要です。

間違いが多い場合に備えて、列ごとにメッセージボックスを作成したいと考えています。以下に部分的なコードがありますが、cl.address2 / value2 を変更する必要があり、場合によっては vbaextline も変更する必要がありますが、基本的にはそれだけです。ありがとうございました!

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)
4

1 に答える 1

1

セルを明示的に参照する for each を作成します。見つかったセルを追跡するには、ローカル文字列変数を使用して、見つかった行とキャリッジ リターンまたはライン フィード (= 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
于 2013-05-09T22:04:41.480 に答える