[英]Why do I receive a Type mismatch error using If Not Range.Value Like in vba?
我試圖刪除“ A”列中的值與以下字段格式不匹配的所有行:(1)7位數字,(2)姓,名,(3)日期...或以下值( 4)不便(5)不便。
第9行不斷拋出“類型不匹配”錯誤。 有任何想法嗎?
Public Sub DeleteRows()
Dim RowToTest As Long
Call setVariables '***sets wsName variable
'Code to delete unneeded rows based on cell value in Column "A"
For RowToTest = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
With ActiveWorkbook.Worksheets(wsName).Cells(RowToTest, 1)
If Not .Value Like "???????" Or "*[,]*" Or "*?[/]*?[/]*??" _
Or "?????[:]*" Then
If Not .Value = "INPATIENT" Or "OUTPATIENT" Then
Rows(RowToTest).EntireRow.Delete
End If
End If
End With
Next RowToTest
End Sub
您的函數應如下所示:
Public Sub DeleteRows()
Dim RowToTest As Long
Call setVariables '***sets wsName variable
'Code to delete unneeded rows based on cell value in Column "A"
For RowToTest = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
With ActiveWorkbook.Worksheets(wsName).Cells(RowToTest, 1)
If Not (.Value Like "???????" Or .Value Like "*[,]*" Or .Value Like "*?[/]*?[/]*??" Or _
.Value Like "?????[:]*" Or .Value = "INPATIENT" Or .Value = "OUTPATIENT") Then
ActiveWorkbook.Worksheets(wsName).Rows(RowToTest).Delete
End If
End With
Next RowToTest
End Sub
用這個:
If Not .Value Like "???????" And _
Not .Value Like "*[,]*" And _
Not .Value Like "*?[/]*?[/]*??" And _
Not .Value Like "?????[:]*" And _
.Value <> "INPATIENT" And _
.Value <> "OUTPATIENT" Then
Rows(RowToTest).EntireRow.Delete
End If
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.