如何根据单元格值删除行

sik*_*kas 17 excel vba excel-vba

我有一个工作表,我需要根据单元格值删除行.

要检查的单元格在A列中.

如果单元格包含" - "..删除行

我找不到这样做的方法..我打开一个工作簿,将所有内容复制到另一个工作簿,然后删除整个行和列,但是有特定的行必须根据单元格值删除.

需要帮助.

UPDATE

我拥有的数据样本

样品

Joh*_*tos 17

最简单的方法是使用过滤器.

你可以过滤A列中没有" - "的任何单元格,复制/粘贴,或者(我更喜欢的方法)筛选所有具有" - "的单元格,然后选择all并删除 - 一次你删除了过滤器,你就得到了你需要的东西.

希望这可以帮助.


Pet*_* L. 13

屏幕截图非常有用 - 以下代码将完成这项工作(假设数据位于A列,从A1开始):

Sub RemoveRows()

Dim i As Long

i = 1

Do While i <= ThisWorkbook.ActiveSheet.Range("A1").CurrentRegion.Rows.Count

    If InStr(1, ThisWorkbook.ActiveSheet.Cells(i, 1).Text, "-", vbTextCompare) > 0 Then
        ThisWorkbook.ActiveSheet.Cells(i, 1).EntireRow.Delete
    Else
        i = i + 1
    End If

Loop

End Sub
Run Code Online (Sandbox Code Playgroud)

示例文件共享:https://www.dropbox.com/s/2vhq6vw7ov7ssya/RemoweDashRows.xlsm


wei*_*eir 9

您可以在新列中复制如下公式...

=IF(ISNUMBER(FIND("-",A1)),1,0)
Run Code Online (Sandbox Code Playgroud)

...然后对该列进行排序,突出显示值为1的所有行并删除它们.


小智 5

如果要基于某些特定的单元格值删除行。假设我们有一个包含10000行的文件,以及一个值为NULL的字段。并基于该空值想要删除所有这些行和记录。

这里有一些简单的提示。首先打开“查找替换”对话框,然后在“替换”选项卡上,将所有包含NULL值的单元格设置为“空白”。然后按F5键并选择“空白”选项,现在右键单击活动工作表,然后选择“删除”,然后选择“整个行”。

它将基于包含单词NULL的单元格值删除所有那些行。