¿Cómo evitar copiar y pegar sobre una celda con lista desplegable en Excel?
Para una celda con una lista desplegable de validación de datos, al copiar contenido de otra celda y pegarlo en ella, la lista desplegable desaparecerá y se reemplazará con el nuevo contenido pegado. En algunos casos, es posible que desee evitar copiar y pegar otro contenido sobre la celda con la lista desplegable, ¿qué haría para resolverlo? En este artículo, obtendrá un método VBA para abordar este problema.
Evitar copiar y pegar sobre una celda con lista desplegable en Excel
Evitar copiar y pegar sobre una celda con lista desplegable en Excel
1. Abra la hoja de trabajo con la celda de la lista desplegable en la que desea evitar copiar y pegar.
2. Presione simultáneamente las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic Applications.
3. En la ventana de Microsoft Visual Basic Applications, haga doble clic en el nombre de la hoja de trabajo actual en el panel izquierdo, luego copie y pegue el siguiente código VBA en el editor de Código. Ver captura de pantalla:
Código VBA: Evitar copiar y pegar sobre una celda con lista desplegable
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. Presione las teclas Alt + Q para salir de la ventana de Microsoft Visual Basic Applications.
5. Cuando pegue contenido en una celda con lista desplegable, aparecerá un cuadro de diálogo para recordarle que no se permite el pegado. Ver captura de pantalla:
Nota: Este VBA solo funciona en el pegado de una sola celda. Si copia y pega en varias celdas, no funcionará.
Crear fácilmente una lista desplegable con casillas de verificación en Excel:
La Lista desplegable con casillas de verificación utilidad de Kutools para Excel puede ayudarte a crear fácilmente una lista desplegable con casillas de verificación en un rango especificado, hoja de trabajo actual, libro de trabajo actual o todos los libros de trabajo abiertos según tus necesidades.
¡Descarga ahora la versión de prueba gratuita completa 30 días de Kutools para Excel!
Artículos relacionados:
¿Cómo crear una lista desplegable con múltiples casillas de verificación en Excel?
Muchos usuarios de Excel tienden a crear listas desplegables con múltiples casillas de verificación para poder seleccionar varios elementos de la lista a la vez. En realidad, no puedes crear una lista con múltiples casillas de verificación con Validación de Datos. En este tutorial, vamos a mostrarte dos métodos para crear una lista desplegable con múltiples casillas de verificación en Excel. Este tutorial proporciona el método para resolver el problema.
Crear una lista desplegable desde otro libro en Excel
Es bastante fácil crear una lista desplegable de validación de datos entre hojas de trabajo dentro de un libro. Pero si los datos de la lista que necesitas para la validación de datos están en otro libro, ¿qué harías? En este tutorial, aprenderás cómo crear una lista desplegable desde otro libro en Excel detalladamente.
Crear una lista desplegable buscable en Excel
Para una lista desplegable con numerosos valores, encontrar uno adecuado no es fácil. Anteriormente hemos introducido un método de autocompletar la lista desplegable cuando se ingresa la primera letra en el cuadro desplegable. Además de la función de autocompletar, también puedes hacer que la lista desplegable sea buscable para mejorar la eficiencia del trabajo al encontrar los valores adecuados en la lista desplegable. Para hacer que la lista desplegable sea buscable, prueba el método en este tutorial.
Autocompletar otras celdas al seleccionar valores en una lista desplegable de Excel
Supongamos que has creado una lista desplegable basada en los valores en el rango de celdas B8:B14. Al seleccionar cualquier valor en la lista desplegable, quieres que los valores correspondientes en el rango de celdas C8:C14 se autocompleten automáticamente en una celda seleccionada. Para resolver el problema, los métodos en este tutorial te serán de ayuda.
Las mejores herramientas de productividad para Office
Potencia tus habilidades en Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haz clic aquí para obtener la función que más necesitas...
Office Tab lleva la interfaz de pestañas a Office y facilita mucho tu trabajo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en lugar de nuevas ventanas.
- ¡Aumenta tu productividad en un50% y reduce cientos de clics de ratón cada día!