如何防止在 Excel 中複製並貼上覆蓋帶有下拉列表的儲存格?
對於帶有資料驗證下拉列表的儲存格,當從另一個儲存格複製內容並貼上時,下拉列表將消失並被新的貼上內容取代。在某些情況下,您希望防止將其他內容複製並貼上到帶有下拉列表的儲存格中,該如何處理這個問題呢?本文將為您提供一種使用 VBA 方法解決此問題的方式。
防止在 Excel 中複製並貼上覆蓋帶有下拉列表的儲存格
1. 打開包含要防止複製和貼上的下拉列表儲存格的工作表。
2. 同時按下 Alt + F11 鍵以打開 Microsoft Visual Basic 應用程式視窗。
3. 在 Microsoft Visual Basic 應用程式視窗中,雙擊左側窗格中的當前工作表名稱,然後將以下 VBA 程式碼複製並貼上到程式碼編輯器中。請參閱截圖:
VBA 程式碼:防止複製並貼上覆蓋帶有下拉列表的儲存格
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20200903
Dim xValue As String
Dim xCheck1 As String
Dim xCheck2 As String
Dim xRg As Range
Dim xArrCheck1() As String
Dim xArrCheck2() As String
Dim xArrValue()
Dim xCount, xJ As Integer
Dim xBol As Boolean
' If Target.Count > 1 Then
' Exit Sub
' End If
xCount = Target.Count
ReDim xArrCheck1(1 To xCount)
ReDim xArrCheck2(1 To xCount)
ReDim xArrValue(1 To xCount)
Application.EnableEvents = False
On Error Resume Next
xJ = 1
For Each xRg In Target
xArrValue(xJ) = xRg.Value
xArrCheck1(xJ) = xRg.Validation.InCellDropdown
xJ = xJ + 1
Next
Application.Undo
xJ = 1
For Each xRg In Target
xArrCheck2(xJ) = xRg.Validation.InCellDropdown
xJ = xJ + 1
Next
xBol = False
For xJ = 1 To xCount
If xArrCheck2(xJ) <> xArrCheck1(xJ) Then
xBol = True
Exit For
End If
Next
If xBol Then
MsgBox "The selected cells containg data validation drop-down lists, no pasting allowed."
Else
xJ = 1
For Each xRg In Target
xRg.Value = xArrValue(xJ)
xJ = xJ + 1
Next
End If
Application.EnableEvents = True
End Sub
4. 按下 Alt + Q 鍵退出 Microsoft Visual Basic 應用程式視窗。
5. 當您嘗試將內容貼上到帶有下拉列表的儲存格時,會彈出一個對話框提醒您不允許進行貼上操作。請參閱截圖:
備註:此 VBA 僅適用於單一儲存格的貼上操作。如果您複製並貼上多個儲存格,則該功能將不起作用。
輕鬆在 Excel 中創建帶有核取方塊的下拉列表:
給下拉列表增加複選框工具可以幫助您根據需求輕鬆在指定區域、當前工作表、當前工作簿或所有已開啟的工作簿中創建帶有核取方塊的下拉列表。
Kutools for Excel 的 30-天全功能免費試用版!
相關文章:
如何在 Excel 中創建帶有多個核取方塊的下拉列表?
許多 Excel 使用者傾向於創建帶有多個核取方塊的下拉列表,以便每次從列表中選擇多個項目。實際上,您無法使用資料驗證來創建帶有多個核取方塊的列表。在本教程中,我們將向您展示兩種方法來在 Excel 中創建帶有多個核取方塊的下拉列表。本教程提供了該問題的解決方案。
在 Excel 中從另一個工作簿創建下拉列表
在同一工作簿內的工作表之間創建資料驗證下拉列表非常容易。但如果所需的列表數據位於另一個工作簿中,該怎麼辦?在本教程中,您將詳細學習如何在 Excel 中從另一個工作簿創建下拉列表。
在 Excel 中創建可搜尋的下拉列表
對於具有眾多值的下拉列表,找到合適的值並不容易。之前我們介紹了一種在下拉框中輸入首字母時自動完成下拉列表的方法。除了自動完成功能外,您還可以使下拉列表可搜尋,以提高在下拉列表中查找適當值的工作效率。要使下拉列表可搜尋,請嘗試本教程中的方法。
在 Excel 下拉列表中選擇值時自動填充其他儲存格
假設您已經根據 B8:B14 儲存格範圍的值創建了下拉列表。當您從下拉列表中選擇任何值時,您希望 C8:C14 儲存格範圍內的相應值能夠自動填充到某個選定的儲存格中。為了解決這個問題,本教程中的方法將對您有所幫助。
最佳辦公效率工具
🤖 | Kutools AI 助手:基於智能執行方式革新數據分析:智能執行 | 生成代碼 | 創建自訂公式 | 分析數據並生成圖表 | 調用 Kutools 函數… |
熱門功能:查找、標記重複值或識別重複項 | 刪除空行 | 合併列或單元格而不丟失數據 | 四捨五入無需公式 ... | |
高級 LOOKUP: 多條件 VLookup | 多值 VLookup | 多表查找 | 模糊查找 .... | |
高級下拉列表:快速創建下拉列表 | 依賴下拉列表 | 多選下拉列表 .... | |
列管理器: 添加特定數量的列 | 移動列 | 切換隱藏列的可見狀態 | 比較區域和列 ... | |
特色功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿與工作表管理器 | 資源庫(自動文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按列表發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/斜體/刪除線...) ... | |
頂級 15 種工具集: 12 個文本工具(添加文本、刪除特定字符、...) | 50+ 圖表 類型(甘特圖、...) | 40+ 實用 公式(基於生日計算年齡、...) | 19 個插入工具(插入QR碼、根據路徑插入圖片、...) | 12 個轉換工具(金額轉大寫、匯率轉換、...) | 7 個合併與分割工具(高級合併行、分割儲存格、...) | ... 還有更多 |
使用 Kutools for Excel 提升您的 Excel 技巧,體驗前所未有的高效。 Kutools for Excel 提供超過 300 種高級功能來提高生產力並節省時間。 點擊這裡獲取您最需要的功能...
Office Tab 將標籤式界面帶到 Office,讓您的工作更加輕鬆
- 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中啟用標籤式編輯和閱讀。
- 在同一窗口的新標籤中打開和創建多個文檔,而不是在新窗口中。
- 將您的生產力提高 50%,每天為您減少數百次鼠標點擊!