提示:其他語言是Google翻譯的。 你可以訪問 English 版本。
登入
x
or
x
x
註冊
x

or

如果在Excel中單元格包含零,如何刪除整行?

有時,如果Excel中的單元格包含零,則要刪除整行,如果有幾個,可以逐個刪除它們。 但是,包含零的數百行需要刪除嗎? 你可以選擇一個棘手的方法來解決它。

在Excel中,如果單元格包含零,並使用Filter函數刪除行

如果單元格在Excel中包含VBA,則刪除行

使用Kutools for Excel刪除行,如果單元格包含零


如果Excel中某個範圍內存在零值,則輕鬆刪除所有行:

strong> Kutools for Excel's 選擇特定單元格 如果某個範圍內存在零值,實用程序可幫助您輕鬆選擇整行,然後您可以手動快速刪除所有選定的行而不會出現任何錯誤。 立即下載Kutools for Excel的全功能60天免費試用版!

Kutools for Excel:比200方便的Excel加載項,可以在60天免費試用。 立即下載免費試用版!

Office選項卡在Office中啟用選項卡式編輯和瀏覽,使您的工作更輕鬆......
Kutools for Excel解決了您的大多數問題,並使您的生產率提高了80%
  • 重用任何東西: 將最常用或最複雜的公式,圖表和其他任何內容添加到您的收藏夾中,並在將來快速重複使用它們。
  • 超過20文本功能: 從文本字符串中提取數字; 提取或刪除部分文字; 將數字和貨幣轉換為英文單詞。
  • 合併工具:將多個工作簿和工作表合二為一; 合併多個單元格/行/列,而不會丟失數據; 合併重複的行和總和。
  • 拆分工具:根據價值將數據分割成多個工作表; 一本工作簿可轉換為多個Excel,PDF或CSV文件; 一列到多列。
  • 粘貼跳過 隱藏/過濾行; 數和總和 按背景顏色; 將個性化電子郵件批量發送給多個收件人。
  • 超級過濾器: 創建高級過濾方案並應用於任何工作表; 分類 按週,日,頻率等; 過濾 通過大膽,公式,評論......
  • 超過300強大的功能; 與Office 2007-2019和365一起使用; 支持所有語言; 在您的企業或組織中輕鬆部署。

在Excel中,如果單元格包含零,並使用Filter函數刪除行

您可以使用Filter函數根據特定列中的零值過濾出所有行,然後再刪除所有可見的行。 請做如下。

1。 選擇包含要刪除整行的零值的列單元格,然後單擊 數據 > 過濾。 看截圖:

2。 然後在所選列的第一個單元格中顯示一個下拉箭頭,單擊箭頭,然後選擇 數字過濾器 > 等於 從下拉列表中選擇。

doc刪除零1

3。 在裡面 自定義自動篩選 對話框中輸入數字 0 進入如下圖所示的文本框,然後點擊 OK 按鈕。

doc刪除零1

4。 然後過濾掉這個列中的所有零值單元格。 請選擇過濾器範圍內的所有可見單元格,然後右鍵單擊它們,選擇 刪除行 從右鍵菜單。 在彈出的提示框中,單擊 OK 按鈕。 看截圖:

doc刪除零1

5。 現在所有可見的行都被刪除。 你可以點擊 數據 > 過濾 再次顯示沒有零值單元格的所有數據。 看截圖:

doc刪除零1


如果單元格在Excel中包含VBA,則刪除行

如果Excel中的某個列中存在零值,本節將向您顯示VBA方法以刪除所有行。

1。 按 Alt + F11鍵 鍵同時顯示 Microsoft Visual Basic for Applications 窗口。

2。 在“Microsoft Visual Basic for Applications”窗口中,單擊 插入 > 模塊,然後將以下VBA代碼複製並粘貼到模塊窗口中。

VBA:刪除整個行如果工作表中的某個列範圍中存在零值

Sub DeleteZeroRow()'Updateby20140616 Dim Rng As Range Dim WorkRng As Range On Error Resume Next xTitleId =“KutoolsforExcel”Set WorkRng = Application.Selection Set WorkRng = Application.InputBox(“Range”,xTitleId,WorkRng.Address,Type:= 8 )Application.ScreenUpdating = False做設置Rng = WorkRng.Find(“0”,LookIn:= xlValues)如果不是Rng是沒有然後Rng.EntireRow.Delete結束如果循環而不是Rng是沒有Application.ScreenUpdating = True結束小組

3。 按 F5 運行代碼的關鍵在彈出 KutoolsforExcel 對話框中,根據裡面的零值選擇要刪除整行的列範圍,然後單擊 OK 按鈕。 看截圖:

doc刪除零1

然後立即刪除基於指定列範圍內的零值的所有行。

doc刪除零1


使用Kutools for Excel刪除行,如果單元格包含零

對於許多Excel用戶來說,使用VBA代碼對於刪除Excel中的數據是很危險的。 如果你不完全信任VBA代碼,這裡我們推薦你嘗試一下 選擇特定單元格 實用程序 Kutools for Excel.

Kutools for Excel : 與超過300方便的Excel加載項,在60天免費試用沒有限制.

1。 根據裡面的零值選擇要刪除整行的列範圍,然後單擊 Kutools > 選擇 > 選擇特定單元格。 看截圖:

2。 在裡面 選擇特定單元格 對話框,你需要:

(1)選擇 整行 在選項 選擇類型 部分。

(2)選擇 等於 在第一 具體類型 下拉列表,然後輸入數字 0 進入文本框。

(3)點擊 OK 按鈕。

3。 彈出一個對話框告訴你已經選擇了多少行,點擊 OK 按鈕。 現在,所有具有零值的行都存在於指定的列範圍內。 請右鍵單擊任何選定的行,然後單擊 刪除 在右鍵菜單中。 看截圖:

doc刪除零1

現在所有具有零值的行都存在於指定的列中,立即被刪除。 看截圖:

doc刪除零1

如果您想免費試用此實用程序,請轉到 免費下載該軟件 首先,按照上述步驟進行操作。


Office Tab - 在Excel中選項卡式瀏覽,編輯和管理工作簿:

Office選項卡將Web瀏覽器(如Google Chrome,Internet Explorer新版本和Firefox)中顯示的選項卡界面帶到Microsoft Excel。 它將是一個節省時間的工具,在您的工作中無可比擬。 見下面的演示:

點擊免費試用Office Tab!

Excel的Office選項卡


使用Kutools for Excel刪除行,如果單元格包含零

Kutools for Excel 包含了比300更方便的Excel工具。 免費試用60天無限制。 立即下載免費試用!


相關文章:


Kutools for Excel解決了您的大多數問題,並使您的生產率提高了80%

  • 重用: 快速插入 複雜的公式,圖表 以及你以前用過的任何東西; 加密單元格 密碼; 創建郵件列表 並發送電子郵件...
  • 超級方程式酒吧 (輕鬆編輯多行文字和公式); 閱讀佈局 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不丟失數據; 分裂細胞含量; 組合重複的行/列...防止重複的細胞; 比較範圍...
  • 選擇複製或唯一 行; 選擇空行 (所有細胞都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇......
  • 精確複製 多個單元格而不更改公式參考; 自動創建參考 多張表; 插入項目符號,複選框等等......
  • 提取文本,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級過濾器 (將過濾方案保存並應用到其他工作表); 高級排序 按月/週/日,頻率等; 特殊過濾器 用粗體,斜體......
  • 結合工作簿和工作表; 根據鍵列合併表; 將數據拆分為多個表格; 批量轉換xls,xlsx和PDF...
  • 超過300強大的功能。 支持Office / Excel 2007-2019和365。 支持所有語言。 在您的企業或組織中輕鬆部署。 全功能30天免費試用。
kte tab 201905

Office選項卡為Office提供選項卡式界面,使您的工作更輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,Publisher,Access,Visio和Project。
  • 在同一窗口的新選項卡中打開並創建多個文檔,而不是在新窗口中。
  • 通過50%提高您的工作效率,每天為您減少數百次鼠標點擊!
官方底部
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Guest · 10 months ago
    Insert this in VB new module.
    This is with InputBox to delete row which contains that word.

    Attribute VB_Name = "FindDelRowByWord"
    Sub FindDelRow()
    'Updateby20140616
    Dim Rng As Range
    Dim WorkRng As Range
    Dim xRep As String
    On Error Resume Next
    xTitleId = "ZOK Tools"
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
    xRep = Application.InputBox("word to delete Row:", "ZOK Tools", , , , , 2)
    Application.ScreenUpdating = False
    Do
    Set Rng = WorkRng.Find(xRep, LookIn:=xlValues)
    If Not Rng Is Nothing Then
    Rng.EntireRow.Delete
    End If
    Loop While Not Rng Is Nothing
    Application.ScreenUpdating = True
    End Sub
    • To post as a guest, your comment is unpublished.
      AndrewRosales · 10 months ago
      WHAT IF you have a big sheet, and there are rows you want to keep, and others rows that contain certain key words and delete those? the kutools work for me but for one key word that many rows have that key word, the rows were deleted, i just want to have multiple key words to do the same? does this work for the code above?
      • To post as a guest, your comment is unpublished.
        crystal · 9 months ago
        Good Day,
        Kutools can deal with two key words at the same time. You need to enable its second condition with "And" or "Or". Hope I can help.
  • To post as a guest, your comment is unpublished.
    Sheri · 3 years ago
    This didn't work for me. It changed all values in my chosen column and the adjacent column to zeros. I must be doing something wrong!
    • To post as a guest, your comment is unpublished.
      crystal · 9 months ago
      Hi Sheri,
      The code works well in my case. Which Excel verson do you use?
      • To post as a guest, your comment is unpublished.
        Sheri Dohm · 9 months ago
        Hi Crystal. I posted this two years ago so I’m guessing I figured it out. But thanks for the reply.
  • To post as a guest, your comment is unpublished.
    R. Arunkumar · 3 years ago
    Hi dears ,

    I need a code to hide the rows which have the value=0 on the column "N" in the sheet 1. The value of the column "N" will change when update the details on the Sheet 2.
    that's the time need to un-hide the row. is this possible to do this with Excel formula(without macro and Excel Filters).
  • To post as a guest, your comment is unpublished.
    J Murphy · 4 years ago
    modified for my purpose--thank you for your help:
    Sub DeleteZeroRow()
    Dim Rng As Range
    Dim WorkRng As Range
    On Error Resume Next
    xTitleId = ""
    Application.Calculation = xlManual
    MsgBox "Set the range you want to remove the unused 0 quantity rows from"
    Set WorkRng = Application.InputBox("Range", xTitleId, "FG93:FG500", Type:=8)
    Application.ScreenUpdating = False
    Sheets("ENTRY").Select
    Do
    Set Rng = WorkRng.Find("0", LookIn:=xlValues)
    If Not Rng Is Nothing Then
    Rng.EntireRow.Delete
    End If
    Loop While Not Rng Is Nothing
    Application.ScreenUpdating = True
    Range("FF92").Select
    Selection.End(xlDown).Select
    MsgBox "Removed 0's ROWS from column FG--calculating now--please wait"
    Application.Calculation = xlAutomatic
    End Sub
  • To post as a guest, your comment is unpublished.
    Andrew · 4 years ago
    I modified the below code to work for me. This deleted every row in column C that had "Delete" in the cell of column C.

    Sub Delete_DeleteRows()

    Set WorkRng = Range("C2:C12000")

    Application.ScreenUpdating = False

    Do

    Set Rng = WorkRng.Find("Delete", LookIn:=xlValues)
    If Not Rng Is Nothing Then
    Rng.EntireRow.Delete
    End If

    Loop While Not Rng Is Nothing
    Application.ScreenUpdating = True

    End Sub
    • To post as a guest, your comment is unpublished.
      yoav · 1 months ago
      Hi,
      its worked for me, thanks a lot.
      if I have multiple sheets? how i can run the script 1 time for all the sheets?
    • To post as a guest, your comment is unpublished.
      Anonymous · 3 years ago
      thanks for the response, worked for me
  • To post as a guest, your comment is unpublished.
    Andrew · 4 years ago
    I modified the above code to work for me. I wanted to delete every row that had "Delete" in row C.

    Sub Delete_DeleteRows()

    Set WorkRng = Range("C2:C12000")

    Application.ScreenUpdating = False

    Do

    Set Rng = WorkRng.Find("Delete", LookIn:=xlValues)
    If Not Rng Is Nothing Then
    Rng.EntireRow.Delete
    End If

    Loop While Not Rng Is Nothing
    Application.ScreenUpdating = True

    End Sub
  • To post as a guest, your comment is unpublished.
    Scott · 4 years ago
    Your VB code doesn't work. It deletes all rows with a Zero in the 10s position. I hope no one actually uses this as they will delete data...
  • To post as a guest, your comment is unpublished.
    Tom B · 4 years ago
    This was a life saver!!