我有一個excel列中的文件路徑和名稱的長列表。我正在處理一個代碼,以刪除不包含任何我已經放入數組的部分字符串的所有單元格。我收到一個錯誤「範圍類的刪除方法失敗」。我是很新的VBA所以任何提示的讚賞,這裏是我到目前爲止有:刪除不包含部分字符串的單元格?錯誤
Sub Tester()
Dim dontDelete As Variant
Dim sKeep As String, x As Long
Dim rngSearch As Range, c As Range
Dim i As Long, j As Long
dontDelete = Array("abel", "varo")
For x = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1
For j = LBound(dontDelete) To UBound(dontDelete)
Set c = Range("A" & x).Cells
If InStr(c.Value, dontDelete(j)) = 0 Then
c.Delete shift:=xlShiftUp
End If
Next j
Next x
End Sub
我相信這是「c.Delete轉變:= xlShiftUp」,是造成問題,但我不不知道爲什麼?如果沒有數組中的字符串包含刪除的每一個細胞,而不是僅僅刪除細胞不包含所有這些
逐句通過代碼,因爲語句看起來不錯,它可能是這樣做的行爲nota允許,看看什麼是等等...... –
步進,它突出顯示黃色從dontDelete =陣列....向下c.Delete Shift ....在哪裏不會再進一步!我如何定義x和c有問題嗎? – IIJHFII
1.代碼適用於我2.我認爲它沒有做你想做的事。這樣,只有包含「abel」和「varo」的單元纔會被刪除。 – EngJon