2013-05-09 96 views
1

我有一個文檔,我想檢查一些列以查看它們是否格式正確。對於不正確的值,我希望有一個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

我會讓每個顯式指向單元格。 要跟蹤找到的單元格,請使用本地的字符串變量,在其中添加找到的任何行以及回車或換行符(= 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 
+0

謝謝...只是爲了學習的目的是什麼了CHR(13)參見/什麼會改變多少呢? – 2013-05-09 22:10:20

+0

正如我在我的介紹文字中提到的換行符是Chr(13),Chr()是一個字符函數,數字參數將決定哪個字符將被「打印」,這對於特殊字符如回車,行飼料,雙引號... – 2013-05-09 22:13:22