2016-12-03 25 views
0

我想清理數據庫中的數據轉儲。我有一些字段是日期和情況是有些輸入不正確,缺少日期等。例如:當一天不知道和寫作12/??/1952年。我試圖清除所有真正的字符串日期。這裏是代碼:在VBA中使用isdate()刪除日期字段中的字符串文本

Dim r As Range, cell As Range, mynumber As Long 
Dim date_valid As Date 
Dim last_row As Integer 
Dim LastRow As Long 

Set r = Range("H2:H" & LastRow) 

mynumber = 1 
For Each cell In r 
    date_valid = cell.Value 
    If isDate(date_valid) Then 
     cell.Value = date_valid 
     mynumber = mynumber + 1 
     Debug.Print mynumber + 1 
    Else 
     cell.Value = " "//trying to save the nondate cell values as blank, putting in 12:00 am 
     mynumber = mynumber + 1 
     Debug.Print mynumber + 1 
    End If 
Next 

Debug.Print是幫助我找出哪些線路導致問題。類型不匹配

任何幫助,您可以提供極爲賞識:當它遇到一個文本字段

運行時錯誤「13」

錯誤消息。

+0

你在哪一行得到這個錯誤?你想用這些日期做什麼?刪除它們?忽視 ? –

回答

0
Dim date_valid As Date 
date_valid = cell.Value 

類型不匹配時cell.value是不是一個有效日期。要修復它,請將date_valid聲明爲字符串。

Dim date_valid As String 
... 
date_valid = cell.Value 
If isDate(date_valid) Then... 
相關問題