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

如何在Excel中根據標題值刪除整個列?

在許多情況下,您可能需要根據Excel中的標題值刪除整個列。 例如,您需要刪除標題中包含值“ old”的所有列。 在本教程中,我們將詳細介紹根據標頭值刪除整個列的方法。

使用VBA代碼根據標題值刪除整個列
使用Kutools for Excel根據標題值刪除整個列


使用VBA代碼根據標題值刪除整個列

您可以使用VBA代碼根據標題值刪除整個列。 請執行以下操作。

1。 按 其他 + F11 同時打開 Microsoft Visual Basic應用程序 窗口。

2。 在裡面 Microsoft Visual Basic應用程序 窗口中,單擊 插入 > 模塊。 然後將下面的代碼複製並粘貼到“模塊”窗口中。

VBA代碼:根據標題值刪除整個列

Sub DeleteSpecifcColumn()
	Set MR = Range("A1:D1")
	For Each cell In MR
		If cell.Value = "old" Then cell.EntireColumn.Delete
	Next
End Sub

筆記:

1)在代碼中,“”是您要基於其刪除整個列的標題值。 請手動更改為標題值。 和 A1:D1 是您要使用的列範圍。
2) 此代碼區分大小寫。

3。 按 F5 鍵運行代碼,標題等於指定文本的整列將立即被刪除。


使用Kutools for Excel根據標題值刪除整個列

這款獨特的敏感免洗唇膜採用 Moisture WrapTM 技術和 Berry Mix ComplexTM 成分, Excel的Kutools選擇特定的單元格 實用程序,您可以輕鬆地首先選擇包含某些標頭值的所有列,然後立即刪除這些選定的列。 請執行以下操作。

申請前 Excel的Kutools首先下載並安裝.

1.選擇包含您要刪除的列的範圍,然後單擊 庫工具 > 選擇 > 選擇特定的單元格。 看截圖:

2。 在裡面 選擇特定的單元格 對話框中,選擇 整列 在選項 選擇類型 部分,並在 特定類型 下拉列表,選擇 等於 選項,然後在下面的框中鍵入標題值。 最後點擊 OK 按鈕。 看截圖:

3。 點擊 OK 在另一個彈出對話框中單擊,然後立即選擇包含指定標題值的列。

4.右鍵單擊所選列的列標題,然後單擊“確定”。 刪除 從右鍵單擊菜單中。 然後立即刪除所有選定的列。

  如果您想免費試用(30-day) 這個實用程序, 請點擊下載,然後按照上述步驟進行操作。


最佳辦公效率工具

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底部
按評論排序
留言 (12)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
抱歉,如果這看起來超級基本,但這是我第一次嘗試 vba。 使用這個我將如何應用它來刪除多個列標題。 我實際上試圖只保留某些標題列並刪除更改列表的其餘部分。
網站主持人對此評論進行了最小化
在第一個代碼中,只需複制第 4 行並將“舊”更改為第二列名稱即可
網站主持人對此評論進行了最小化
嘿! 在您有兩個具有相同標題的連續列之前,這很有效。 假設您的範圍是 A1:A5,而 A2 和 A3 的標題為“舊”。 它將刪除 A2,但隨後 A3 將移動到 A2 曾經佔據的位置,並且代碼將跳過它,因為它將查看新的 A3,即其範圍內的下一個單元格。
網站主持人對此評論進行了最小化
嗨,埃利亞斯,
正如您所提到的,A2 和 A3 具有相同的標題“舊”。 但是它們在同一列中,應用代碼後,整個 A 列將立即被刪除。
我不確定我明白你的意思。 如果您能提供您正在嘗試做的事情的屏幕截圖,那就太好了。
網站主持人對此評論進行了最小化
嗨,是否可以使用多個列名來執行此操作?
網站主持人對此評論進行了最小化
嗨,馬克,
試試下面的代碼。 在第八行,請用雙引號將每個列名括起來,並用逗號分隔。 希望我能幫上忙。 謝謝你。

子 DeleteSpecifcColumn()

暗淡 xFNum、xFFNum、xCount 作為整數

將 xStr 調暗為字符串

將 xArrName 調暗為變體

調暗 MR,xRg 作為範圍

在錯誤恢復下一頁

設置 MR = Range("A1:N1")

xArrName = Array("old", "new", "get") '用雙引號將每個列名括起來並用逗號分隔

xCount = MR.Count

xStr = xArrName(xFNum)

對於 xFFNum = xCount 到 1 步 -1

設置 xRg = Cells(1, xFFNum)

對於 xFNum = 0 到 UBound(xArrName)

xStr = xArrName(xFNum)

如果 xRg.Value = xStr 則 xRg.EntireColumn.Delete

下一個 xFNum

下一頁

END SUB
網站主持人對此評論進行了最小化
我認為需要更改第 12 行才能使代碼正常工作。 原始第 12 行“Set xRg = Cells(1, xFFNum)”修改了第 12 行“Set xRg = MR(1, xFFNum)”
子 DeleteSpecifcColumn()
暗淡 xFNum、xFFNum、xCount 作為整數
將 xStr 調暗為字符串
將 xArrName 調暗為變體
調暗 MR,xRg 作為範圍
在錯誤恢復下一頁
設置 MR = Range("A1:N1")
xArrName = Array("old", "new", "get") '用雙引號將每個列名括起來並用逗號分隔
xCount = MR.Count
xStr = xArrName(xFNum)
對於 xFFNum = xCount 到 1 步 -1
設置 xRg = MR(1, xFFNum)
對於 xFNum = 0 到 UBound(xArrName)
xStr = xArrName(xFNum)
如果 xRg.Value = xStr 則 xRg.EntireColumn.Delete
下一個 xFNum
下一頁
END SUB
網站主持人對此評論進行了最小化
如果標題從第 4 行開始怎麼辦
網站主持人對此評論進行了最小化
VBA 示例聲明代碼將刪除其標題包含“舊”的所有列。 事實並非如此。 = 運算符只會刪除完全匹配。 您需要將 LIKE 運算符與通配符一起使用。
修正代碼:Sub DeleteSpecifcColumn()
設置 MR = Range("A1:D1")
對於 MR 中的每個單元格
If cell.Value LIKE "old*" Then cell.EntireColumn.Delete
下一頁
END SUB

網站主持人對此評論進行了最小化
您好,感謝您的指正和分享。 
網站主持人對此評論進行了最小化
Hola, tengo una hoja de excel con varios datos, digamos 4 columnas y 12 filas, me gustaría poder imprimir cada fila en un folio separado en una plantilla, es decir, tenemos una hoja con varios nombres y apellidos y teléfono, quiero imprimir tantas páginas como filas tenga la hoja de excel, he inte tado varias cosas pero no encuentro la forma。 格雷西亞斯·德·安特馬諾
網站主持人對此評論進行了最小化
嗨,
如果要在工作表的單獨頁面中打印每一行,建議您每 1 行插入分頁符,然後打印它們。
本文提供的方法可能會對您有所幫助。 請試一試。 謝謝你。
如何在 Excel 中每 X 行插入分頁符?[/url]
https://www.extendoffice.com/documents/excel/1774-excel-insert-page-break-every-row.html
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

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