[英]Enforce users to select value from drop-down list
我試圖確保用戶從下拉列表中選擇一列中的值。 該列表在另一個頁面中。 另外,如果用戶使用“ PASTE”覆蓋了下拉列表,那么我需要彈出一個消息框,警告他們大致相同。
如何使用VBA宏實現此目標
最好的祝福,
Gmainak
您首先需要設置Validation
。 如果有人粘貼並因此超過您的安全措施,則您需要通過以下解決方案采取更多措施:
我創建了一個簡單的函數,可以檢查Worksheet_Change
事件中Target
范圍內的每個單元格。
免責聲明: 請注意,我們不是編碼服務,如果您不理解這些條款,我們不應該承擔責任。 在這種情況下,您需要閱讀更多基礎知識。
Function isValid(rng As Range) As Boolean
'isValid = rng.Validation.Formula1
Dim str As String, formstr As String, rng2 As Range, rng3 As Range
str = rng.Validation.Formula1
'str = Replace(str, "INDIREKT", "INDIRECT") 'hungarian specific
Set rng2 = Evaluate(str)
For Each rng3 In rng2
If rng3 = rng Then
isValid = True
Exit Function
End If
Next rng3
End Function
將此代碼放在下拉工作表代碼窗格中:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = $A$1 Then '<--| change $A$1 to actual address of your dropdown cell
If Not Application.CutCopyMode = False Then
MsgBox "Warning !!" & vbCrLf & vbCrLf & "You are NOT allowed to paste over the drop-down list"
Application.CutCopyMode = False
End If
End If
End Sub
就像Tjb1所說的那樣,
使用數據驗證(在數據選項卡-允許-列表中找到)將列表鎖定為您的選擇,然后隱藏選項卡或將列表鎖定在其中。
通過數據驗證,您可以添加輸入消息或錯誤警報以通知用戶。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.