【发布时间】:2017-08-19 18:19:26
【问题描述】:
我正在尝试搜索由另一个模块生成的表并删除不包含字符串 "REPAIR_RTS" 的行。我尝试了该站点的几种方法,但每次将搜索值更改为 "REPAIR_RTS"(表示 CASE... 的行)时都会出现类型不匹配。
以下是我最近的尝试。
Public Sub Test()
lastRow = Range("D65000").End(xlUp).row
For i = lastRow To 2 Step -1
Select Case Cells(i, 4).Value
Case "REPAIR_RTS"
'Do nothing
Case Else
Cells(i, 8).EntireRow.Delete
End Select
Next i
End Sub
我还是 VBA 的新手,所以我很难解决这个问题。我也对其他方法持开放态度,在继续我的第一份分析师工作时,我正在努力学习新的方法。
【问题讨论】:
-
您知道要在哪个工作表上运行吗?
-
短语 'rows that do not contain' 不明确。是指它是整个单元格值还是较长字符串的一部分?
-
崩溃时
Cells(i, 4).Value的值是多少?是Error 2007或Error 2042之类的错误值吗? (即 D 列中有#N/A、#DIV/0!等值吗?) -
@Jeeped 没有 REPAIR_RTS 是整个单元格值。它运行的工作表名为“Chargable Vendors”
-
@YowE3K 有 #N/A 值以及包含其他文本的值
标签: excel string vba find delete-row