0
我以下拉菜單的形式創建了一個圖例並將其放置在一個單元格中。 基於用戶選擇,是否可以在與下拉菜單相同的單元格中顯示一個數字?根據下拉菜單選擇顯示一個數字
下拉菜單:「10 - 優秀」
我想要的單元格以顯示「10」
我知道我可以使用IF語句實現這一點,但我所寫的那個會很長因爲我有很多選擇和很多細胞。
感謝, 安娜
我以下拉菜單的形式創建了一個圖例並將其放置在一個單元格中。 基於用戶選擇,是否可以在與下拉菜單相同的單元格中顯示一個數字?根據下拉菜單選擇顯示一個數字
下拉菜單:「10 - 優秀」
我想要的單元格以顯示「10」
我知道我可以使用IF語句實現這一點,但我所寫的那個會很長因爲我有很多選擇和很多細胞。
感謝, 安娜
我不認爲這是一個建在從下拉列表中選擇一個值的方式(我假設你使用的數據驗證功能,並且選擇了值的列表或 指出,值列表),並根據選定的值對單元值進行變換。
我會指出幾個選項。
選項1 旁邊有下拉列中你只需後剝離出 文本部分的列 - 像例如式= MID(A1,如圖1所示,FIND(「 - 」,A1) - 1) 假設列A是你的下拉值。 當然,你會結束了兩列
選項2 使用Visual Basic
在你的數據驗證,如果輸入無效值不啓用的錯誤消息。然後使用Visual Basic代碼
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If (Target.Column = 1) Then
Target.Value = Mid(Target.Value, 1, InStr(1, Target.Value, "-") - 1)
End If
Application.EnableEvents = True
End Sub
謝謝你的迴應!備選方案2更有利。我對VBA編碼比較陌生。什麼是target.Column = 1呢?它是否以目標表中的第一列爲目標?我可以將其更改爲我需要的列嗎?同樣,Target.value是做什麼的?再次感謝! –
目標是更改的範圍。在我的示例中,列A是dropdopwn值。您可以根據列的位置進行調整。 VB代碼也沒有生產準備好,您需要修復代碼以進行錯誤處理等。 如果Target是範圍對象,則Target.Value是範圍的值。 你的情況下的範圍只是一個單元格(你可能想要確保該範圍不包含多於1個單元格),但是Target.Value是單元格值,它是用戶選擇的下拉值。更改事件在單元格值更改時觸發,並調整該值並再次啓用事件 – dgorti