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

在Excel中選擇更改後如何清除相關的下拉列表單元格?

對於從屬下拉列表,當父下拉列表的值更改時,第二個列表中的所選值將無效。 在第一個下拉列表中選擇更改後,您必須從第二個下拉列表中手動刪除無效值。 在本文中,我將向您展示一種在Excel中選擇更改後自動清除相關下拉列表單元格的方法。

選擇使用VBA代碼進行更改後,清除相關的下拉列表單元格


選擇使用VBA代碼進行更改後,清除相關的下拉列表單元格

以下VBA代碼可幫助您在Excel中選擇更改後清除相關的下拉列表。

1.右鍵單擊工作表選項卡,其中包含您將自動清除的從屬下拉列表,然後選擇 查看代碼 從上下文菜單。

2.在開幕 Microsoft Visual Basic for Applications 窗口中,將下面的VBA代碼複製到該窗口中。

VBA代碼:選擇更改後清除相關的下拉列表單元格

Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 2018/06/04
    Application.EnableEvents = False
    If Target.Column = 5 And Target.Validation.Type = 3 Then
        Target.Offset(0, 1).Value = ""
    End If
    Application.EnableEvents = True
End Sub

備註:在代碼中,數字5是包含父級下拉列表的列號。 在這種情況下,我的父母下拉列表位於E列中。

3。 按 其他 + Q 關閉鍵 Microsoft Visual Basic for Applications 窗口。

從現在開始,對父下拉列表進行更改時,第二個下拉列表的內容將自動清除。 看截圖:


相關文章:


最佳辦公效率工具

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底部
按評論排序
留言 (9)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
سلاموقتشمابخیر
مافایلاکسلیداریمکهخروجیشازطریقنرمافزارهمکارانسیستمهستیعنیفایلاکسلماآنلاینبه數據的基礎上نرمافزارهمکارانمتصله(اینمهمنیستبرایاطلاععرضکردم)تویاینفایلفیلترهاییوجوددارهکههرفیلتریکلیستکشوییدارهمشکلمااینه کهوقتیمیخواهیمهرکدومازفیلترهایکیازمواردلیستکشوییروانتخابکنیمباانتخابلیست,لیستکشوییزودمیپرهیعنیبستهمیشهزودونمیشهچیزیروانتخابکرد,اینمبگمخدمتتونکهآفیسروحذفونصبهمکردمبازمجوابنداد یییی。
(آفیسمون 2016 هست)یعنی عملا اونها هم نتونستن مشکل روپیداکنن。
لطفا اگه راهی هست ممنون میشم راهنماییم کنید。
باتشکر
網站主持人對此評論進行了最小化
要以訪客身份發帖,您的評論未發表。
網站主持人對此評論進行了最小化
完美工作
網站主持人對此評論進行了最小化
這沒用。
網站主持人對此評論進行了最小化
嗨,萬寶路,
您使用的是哪個 Excel 版本?
網站主持人對此評論進行了最小化
我正在嘗試將此應用於兩個相關的下拉菜單,並且似乎無法正確獲取代碼。 我嘗試複製代碼並更新偏移量並使用 and 函數,每次都會出錯。 有什麼建議嗎? 我希望下拉列表旁邊的兩列清除它是否已更改,而不僅僅是一列。
H     em
網站主持人對此評論進行了最小化
嗨,這就是我如何讓它適用於多個下拉菜單,“And”功能對我也不起作用,但這似乎是。 本質上,當您在第一個下拉菜單中更改所選值時,您需要為每個要變為空白的下拉菜單使用不同的“If”語句。 可能有更有效的方法可以做到這一點,但這對我有用!


Private Sub Worksheet_Change(ByVal Target As Range)
'更新 Extendoffice 2018/06/04
Application.EnableEvents = False
如果 Target.Column = 2 並且 Target.Validation.Type = 3 那麼
Target.Offset(0, 1).Value = ""
如果結束
如果 Target.Column = 2 並且 Target.Validation.Type = 3 那麼
Target.Offset(0, 2).Value = ""
如果結束
如果 Target.Column = 2 並且 Target.Validation.Type = 3 那麼
Target.Offset(0, 3).Value = ""
如果結束
如果 Target.Column = 2 並且 Target.Validation.Type = 3 那麼
Target.Offset(0, 4).Value = ""
如果結束
Application.EnableEvents = True
END SUB
網站主持人對此評論進行了最小化
刪除多行會出錯。 有什麼建議麼 ?
網站主持人對此評論進行了最小化
我收到了多行刪除錯誤以及不應該被清除的行被刪除。 以下是對我有用的解決方案。

Private Sub Worksheet_Change(ByVal Target As Range)
'由 D 更新 2022/08/23
在錯誤恢復下一頁
Application.EnableEvents = False
如果Target.Column = 9那麼
如果 Target.Validation.Type = 3 那麼
Application.EnableEvents = False
Target.Offset(0, 4).Value = ""
如果結束
如果結束

Application.EnableEvents = False
如果Target.Column = 9那麼
如果 Target.Validation.Type = 3 那麼
Application.EnableEvents = False
Target.Offset(0, 5).Value = ""
如果結束
如果結束

Application.EnableEvents = False
如果Target.Column = 13那麼
如果 Target.Validation.Type = 3 那麼
Application.EnableEvents = False
Target.Offset(0, 1).Value = ""
如果結束
如果結束

退出處理程序:
Application.EnableEvents = True
退出小組

END SUB
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

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