我想對該區域執行過濾並刪除與該區域不匹配的其餘行。該表沒有公式,只有值和字符。這是我正在處理的更大代碼的一部分,所以我只會發布這部分內容,這是我第一次看到錯誤,因此對於其他工作表,它們的工作方式正好符合我聲明的方式。類型不匹配運行時錯誤(13)vba
有錯誤,並不會經過這裏If InStr(1, Rng10.Cells(q, 1).Value, "NW") = 0 Then
我的數據有一個輔助列是W和我過濾它的線。我確定我使用的變量沒有重複。 (我用過,s,t,m,n等等......)我試圖將q聲明爲double或variate,但它們都不起作用。
sub test()
Worksheets("A").Activate
'filter
Dim sh9 As Worksheet
Set sh9 = Sheets("A")
Dim LR16 As Long
Dim Rng10 As Range
Dim q As Long
LR16 = sh9.Cells(Rows.Count, "B").End(xlUp).Row
Set Rng10 = Range("W5:W" & LR16 - 1)
For q = Rng10.Rows.Count To 1 Step -1
If InStr(1, Rng10.Cells(q, 1).Value, "NW") = 0 Then
Rng10.Cells(q, 1).EntireRow.Delete
End If
Next q
end sub
如果您將提到的行更改爲'If InStr(1,Rng10.Cells(q,1).Value,「NW」)<1 Then',您的代碼是否可以工作?你確定提到的單元格包含字符串嗎? – reporter
它仍然給我同樣的錯誤,列W有NW,N東,SE和#N/A的值,但是,我以前的工作表具有相同的情況,我沒有這個問題。 – sc1324
有你的錯誤。您的單元格包含顯示爲「#N/A」的錯誤,而不是*表示「#N/A」的文本。 – CLR