Note: The other languages of the website are Google-translated. Back to English

如何在Excel中快速刪除多個空列?

有時,當您從某些來源(例如網頁,CSV,文本等)將數據導入Microsoft Excel時,可能會有許多空列。 刪除每個空列必須是耗時的。 因此,我們中的某些人尋求解決此問題的簡便方法。 本文收集了一些技巧性的技巧,以幫助您快速刪除多個空列。

使用公式刪除工作表中的多個空列

使用VBA代碼刪除工作表中的多個空列

刪除選區/活動工作表/整個工作簿中的多個空列,並提供有用的功能

使用VBA代碼刪除帶有標題的多個空列


使用公式刪除工作表中的多個空列

在Excel中,您可以應用公式來確定列是否為空白,然後使用 分類 功能可將所有空白列排序在一起,然後立即將其刪除。 請這樣做:

1。 在數據范圍的頂部添加新行,請參見屏幕截圖:

2。 然後將以下公式輸入到單元格A1中,然後將填充手柄拖動到右側以將此公式應用於其他單元格,如果該列為空白,則將顯示TRUE,否則顯示FALSE,請參見屏幕截圖:

=COUNTA(A2:A1048576)=0

3。 然後選擇包括助手行的數據范圍,然後單擊 數據 > 分類,請參見屏幕截圖:

4。 在彈出 分類 對話框,單擊 選項 按鈕,在下面 排序選項 對話框中選擇 從左到右排序 選項,請參見屏幕截圖:

5。 點擊 OK 按鈕返回 分類 對話框,然後選擇 行1 來自 排序 下拉菜單,然後選擇 單元格值 排序 部分中,選擇 最大到最小 來自 訂購 部分,請參見屏幕截圖:

6。 然後,所有空列都已排序在數據的左側,現在,您只需要選擇所有列,然後右鍵單擊,選擇 刪除 要立即刪除這些空白列,請參見屏幕截圖:


使用VBA代碼刪除工作表中的多個空列

如果您想使用VBA宏,事情會變得容易得多。 以下VBA代碼可能會對您有所幫助,請這樣做:

1。 按住 其他 + F11 鍵,然後打開 Microsoft Visual Basic for Applications 窗口。

2。 點擊 插入 > 模塊,然後將以下宏粘貼到 模塊 窗口。

VBA代碼:刪除選擇中的多個空白列:

Sub DeleteEmptyColumns()'更新依據 Extendoffice
作為範圍的Dim rng作為範圍的Dim InputRng作為範圍xTitleId =“ KutoolsforExcel”設置InputRng = Application.Selection設置InputRng = Application.InputBox(“ Range:”,xTitleId,InputRng.Address,類型:= 8)Application.ScreenUpdating = False對於i = InputRng.Columns.Count到1步驟-1設置rng = InputRng.Cells(1,i).EntireColumn如果Application.WorksheetFunction.CountA(rng)= 0然後rng.Delete End如果下一個Application.ScreenUpdating = True End Sub

3。 按 F5 鍵以運行此宏,然後在彈出對話框中選擇所需的工作範圍。 看截圖:

4. 點擊 OK,然後刪除選擇中的所有空列。 看截圖:


刪除選區/活動工作表/整個工作簿中的多個空列,並提供有用的功能

刪除隱藏(可見)行和列 的效用 Excel的Kutools 可以幫助您一次快速刪除多個空行或列。

保養竅門:要應用此 刪除隱藏(可見)行和列 功能,首先,您應該下載 Excel的Kutools,然後快速輕鬆地應用該功能。

安裝後 Excel的Kutools,請這樣做:

1。 點擊 庫工具 > 刪除 > 刪除隱藏(可見)行和列,請參見屏幕截圖:

2。 在 刪除隱藏(可見)行和列 對話框中,指定要從中應用操作的範圍 在看 下拉列表。 (如果您選擇 在選定範圍內,您必須先選擇要使用的範圍。)然後檢查 刪除類型。 並選擇 空白欄 詳細類型。 看截圖:

3。 然後點擊 OK。 並且空白列已從所選範圍中刪除。 看截圖:


使用VBA代碼刪除帶有標題的多個空列

有時,您可能希望刪除工作表中僅包含標題的所有空列,以下VBA代碼可以幫您一個忙,請執行以下步驟:

1。 按住 其他 + F11 鍵,然後打開 Microsoft Visual Basic for Applications 窗口。

2。 點擊 插入 > 模塊,然後將以下宏粘貼到 模塊 窗口。

VBA代碼:刪除所有帶有標題的空列

Sub deleteblankcolwithheader()
'updateby Extendoffice
    Dim xEndCol As Long
    Dim I As Long
    Dim xDel As Boolean
    On Error Resume Next
    xEndCol = Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
    If xEndCol = 0 Then
        MsgBox "There is no data on """ & ActiveSheet.Name & """ .", vbExclamation, "Kutools for Excel"
        Exit Sub
    End If
    Application.ScreenUpdating = False
    For I = xEndCol To 1 Step -1
        If Application.WorksheetFunction.CountA(Columns(I)) <= 1 Then
            Columns(I).Delete
            xDel = True
        End If
    Next
    If xDel Then
        MsgBox "All blank column(s) with only a header row have been deleted.", vbInformation, "Kutools for Excel"
    Else
        MsgBox "There are no Columns to delete as each one has more data (rows) than just a header.", vbExclamation, "Kutools for Excel"
    End If
    Application.ScreenUpdating = True
End Sub

3。 然後按F5鍵運行此代碼,將彈出提示框,提醒您標題為空白的列將被刪除,請參見屏幕截圖:

4.然後,單擊“確定”按鈕,一次刪除當前工作表中僅標題的所有空白列。 查看屏幕截圖:


更多相關文章:

  • 在Excel中刪除所有隱藏的行或列
  • 如果您有一個很大的工作簿,其中包含許多隱藏的行和列,而現在隱藏的數據不可用,那麼您想要刪除所有這些。 您如何快速刪除它們?
  • 在Excel中基於背景色刪除行
  • 如何根據背景色刪除整個行? 在此示例中,我需要刪除所有單元格填充有藍色背景色的所有行,如下面的屏幕截圖所示。 通過本文,您將獲得一些代碼以在Excel中完成此任務。


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

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

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部

按評論排序
留言 (8)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
我發現在最後一行數據之後轉到該行要簡單得多,輸入“Shift-Ctrl-End”以突出顯示後面的所有空白行(更快),右鍵單擊並輸入“刪除所有行/列”。 系統並沒有浪費太多時間以這種方式搜索,因此它在眨眼間就乾淨了,20 MB 的文件被刪除到 20 kb 的大小。
網站主持人對此評論進行了最小化
以上細節對我個人使用很有幫助。 感謝您的指導。 M.KARTHIKEYAN :-)
網站主持人對此評論進行了最小化
非常有幫助的頁面。 謝謝你。 :-) 我的挑戰是我有帶有標題的列,但該列中沒有數據。 只有標題存在。 如何刪除沒有數據但標題存在的列? :o
網站主持人對此評論進行了最小化
你好,你提到的東西很有幫助。 我想從你這邊得到一點幫助。 每天上午下載一些文件並使用樞軸準備報告。 這是我的日常任務和常規過程。 如果不使用樞軸,我怎麼能做到這一點。 例如:如果我昨天在“A”Excel 文件中準備了報告。 第二天在“A” Excel 文件中,我只是替換了新的“B” Excel 文件數據。 通過這個自動報告將被創建? 是否可以?
網站主持人對此評論進行了最小化
嗨,任何人都可以指導我如何刪除一行或一列中的空白單元格...注意整個空白列或行...我只需要刪除一列中的空白單元格
網站主持人對此評論進行了最小化
你好,


嘗試實現下面的代碼
網站主持人對此評論進行了最小化
感謝它帶有基本 excel 選項的非常有用的頁面 :)
網站主持人對此評論進行了最小化
它刪除了我名字欄中的所有名字! 啊!
這裡還沒有評論
請用英文發表您的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護