我有一个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