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

 如何創建下拉列表但在Excel中顯示不同的值?

在Excel工作表中,我們可以使用“數據驗證”功能快速創建一個下拉列表,但是,您是否曾經嘗試在單擊下拉列表時顯示其他值? 例如,我在A列和B列中具有以下兩列數據,現在,我需要使用Name列中的值創建一個下拉列表,但是,當我從創建的下拉列表中選擇名稱時,數字列中的值顯示如下屏幕截圖。 本文將介紹解決此任務的詳細信息。

doc下拉菜單不同的值1

創建下拉列表,但在下拉列表單元格中顯示不同的值


創建下拉列表,但在下拉列表單元格中顯示不同的值

要完成此任務,請按以下步驟操作:

1。 為要在下拉列表中使用的單元格值創建一個範圍名稱,在本示例中,我將在 名稱框,然後按 Enter 鍵,請參見屏幕截圖:

doc下拉菜單不同的值2

2。 然後選擇要在其中插入下拉列表的單元格,然後單擊 數據 > 數據驗證 > 數據驗證,請參見屏幕截圖:

doc下拉菜單不同的值3

3。 在 數據驗證 對話框中的 設定 標籤,選擇 名單 來自 下拉,然後單擊 doc下拉菜單不同的值5 按鈕選擇要用作下拉列表中的值的名稱列表 資源 文本框。 看截圖:

doc下拉菜單不同的值4

4。 插入下拉列表後,請右鍵單擊活動工作表標籤,然後選擇 查看代碼 從上下文菜單中,然後在打開的 適用於應用程序的Microsoft Visual Basic 窗口,將以下代碼複製並粘貼到空白模塊中:

VBA代碼:顯示與下拉列表不同的值:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    selectedNa = Target.Value
    If Target.Column = 5 Then
        selectedNum = Application.VLookup(selectedNa, ActiveSheet.Range("dropdown"), 2, False)
        If Not IsError(selectedNum) Then
            Target.Value = selectedNum
        End If
    End If
End Sub

doc下拉菜單不同的值6

備註:在上面的代碼中,數字 5 如果Target.Column = 5那麼 腳本是您的下拉列表所在的列號,“落下”在此 selectedNum = Application.VLookup(selectedNa,ActiveSheet.Range(“ dropdown”),2,False) code是您在步驟1中創建的範圍名稱。您可以將其更改為所需的名稱。

5。 然後保存並關閉此代碼,現在,當您從下拉列表中選擇一個項目時,在同一單元格中顯示相對不同的值,請參見屏幕截圖:

doc下拉菜單不同的值7


演示:創建下拉列表,但在Excel中顯示不同的值

Kutools for Excel:具有300多個方便的Excel加載項,可以在30天內免費試用,沒有任何限制。 立即下載並免費試用!

 


最佳辦公效率工具

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

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

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

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

 

按評論排序
留言 (40)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
這可以在不同的工作表上完成嗎? 我的意思是,在 sheet1 上的下拉列表和在 sheet2 上的範圍。 我該如何編碼? 提前致謝。 蒂娜。
網站主持人對此評論進行了最小化
如果我想在同一個工作表上執行多個返回不同值的下拉菜單怎麼辦? 你能給我看一個兩個或多個編碼的例子嗎?
網站主持人對此評論進行了最小化
李安

如果您只是將代碼從 If 複製並粘貼到 EndIf 並更改列 # 和 Table 它應該可以工作:


Sub Worksheet_Change(ByVal Target As Range)
selectedNa = 目標值。
如果Target.Column = 5那麼
selectedNum = Application.VLookup(selectedNa,ActiveSheet.Range(“ dropdown”),2,False)
If Not IsError(selectedNum) Then
Target.Value = selectedNum
如果結束
如果結束
如果Target.Column = 9那麼
selectedNum = Application.VLookup(selectedNa, ActiveSheet.Range("dropdown1"), 2, False)
If Not IsError(selectedNum) Then
Target.Value = selectedNum
如果結束
如果結束
END SUB

我並不是說這是正確的方法,但它適用於我的測試版本。 我正在使用 Excel 2013
網站主持人對此評論進行了最小化
剛試了一下。 它奏效了!! 謝謝你。
網站主持人對此評論進行了最小化
嗨,幫助,它不起作用,你可以在這裡粘貼 2 列的所有代碼嗎?
網站主持人對此評論進行了最小化
沒有什麼比輸入一個詳細的問題卻被吹走更令人沮喪的了。 如果您輸入錯誤的 6 位數代碼來驗證您的人,它會清除已發布的消息。 可能想解決這個問題。 現在我的評論是這樣的:我試著做你在視頻和書面說明中展示的完全相同的事情,我得到的只是當我在列表中選擇一個名字時,是名字而不是數字。 此外,這甚至是如何工作的,因為數據驗證應該將選擇限制為僅列表中的內容。 這是如何欺騙系統的? 過去我總是必須將 vba 代碼分配給按鈕或快捷方式,這個代碼是如何激活的? 您如何測試以確保其正常工作?
網站主持人對此評論進行了最小化
當您想在工作簿的單獨工作表上添加數據時,公式如何工作? 我想隱藏數據。
網站主持人對此評論進行了最小化
在這裡換兄弟!
selectedNum = Application.VLookup(selectedNa, Worksheets("YourSheetName").Range("dropdown"), 2, False)
網站主持人對此評論進行了最小化
“YourSheetName”引用包含數據范圍的工作表或我要使用 dropdwon 列表的工作表?
網站主持人對此評論進行了最小化
當您想在工作簿的單獨工作表/選項卡上列出數據時,公式如何工作?
網站主持人對此評論進行了最小化
這在當前版本的 excel-outdated 中不起作用。 數據驗證然後列表不再顯示在 vba 中,因為 excel 對像已經嘗試了多次並且沒有顯示。
網站主持人對此評論進行了最小化
在此示例中,如果您希望它查看每個單元格中的值 5,但將相鄰單元格中的值放入 6
網站主持人對此評論進行了最小化
如果我想根據所選值在 E1 中創建指向下拉列表源的引用/鏈接,代碼需要如何更改?
好處是如果下拉源發生更改(例如“Henrik”=>“Hendrik”,更改將自動反映在 E1 中。
網站主持人對此評論進行了最小化
任何人都知道如何讓它在谷歌表格中工作?
網站主持人對此評論進行了最小化
我想從下拉列表中選擇多個選項。
結果如下:AA1001,BB1002
這可能嗎?
網站主持人對此評論進行了最小化
你找到解決方案嗎?
網站主持人對此評論進行了最小化
Si los datos de la lista están en otra hoja, cuál sería el código? 格拉西亞斯。
網站主持人對此評論進行了最小化
cómo buscar un valor hacia la izquierda
網站主持人對此評論進行了最小化
Private Sub Worksheet_Change(ByVal Target As Range)
selectedNa = 目標值。
如果Target.Column = 5那麼

Sheets("Nombre de la hoja en donde esta la lista").Activate
selectedNum = Application.VLookup(selectedNa,ActiveSheet.Range(“ dropdown”),2,False)
床單(“Nombre de la hoja en donde estas trabajando”)。激活
If Not IsError(selectedNum) Then
Target.Value = selectedNum
如果結束
如果結束
END SUB
網站主持人對此評論進行了最小化
有人知道如何從右到左搜索值
網站主持人對此評論進行了最小化
我需要在多個列中使用相同的下拉列表,代碼是什麼?
網站主持人對此評論進行了最小化
您好!
這真的很有用! 謝謝!
我在單元格不自動更新或使用刷新功能的情況下運行。 我必須單擊另一個單元格,然後單擊工作中的單元格以使其顯示值。
我目前正在使用 Office Standard 2019。有人知道這個問題是否與我正在使用的 excel 版本有關嗎?
網站主持人對此評論進行了最小化
嗨,
如果我們定義列表並在同一張表中創建下拉列表,則代碼工作正常。
但是我們如何才能在一張表中定義值和代碼列表以及在另一張表中創建下拉列表呢?
同樣的代碼不起作用,因為它在這一行中顯示和錯誤(“selectedNum = Application.VLookup(selectedNa, ActiveSheet.Range("dropdown"), 2, False)")。
另外,我有一個要求,例如,如果我在一張表中定義了多個列表,其中包含 ID 和名稱,並且在另一張表中定義了多個下拉列表,其中一個下拉值取決於另一個下拉列表中的選定值。

希望你理解我的詢問。

請幫我解決這個問題。
網站主持人對此評論進行了最小化
這對我幫助很大,謝謝。 由於我的表格與列錶框位於不同的工作表上,因此我添加了幾行代碼來完成此操作並防止屏幕閃爍。

Application.ScreenUpdating = False
表格(“SheetWithTableOnIt”)。激活

表格(“SheetWithDropDownListOnIt”)。激活
Application.ScreenUpdating = True
網站主持人對此評論進行了最小化
您到底在哪裡添加了這些代碼?
網站主持人對此評論進行了最小化
當我嘗試使用代碼時,出現編譯錯誤:“If Trarget.Column = 6 Then”行出現語法錯誤? 知道為什麼嗎?
網站主持人對此評論進行了最小化
它正在工作,但是當您退出文件並再次打開時,它無法正常工作......它不能保存為 .xls ,因為 .xlsm 有什麼解決方案嗎? 謝謝
網站主持人對此評論進行了最小化
您好,Marko,將代碼複製粘貼到您的工作簿後,當您保存文件時,您應該將其保存為Excel Macro-Enabled Workbook 格式,請嘗試,謝謝!
這裡還沒有評論
載入更多
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點