Jack crea hojas de trabajo que envía a otros miembros de su grupo para que puedan ingresar información y luego le devuelven la hoja de trabajo. Él protege las hojas de trabajo, pero ha sido quemado varias veces por usuarios que han usado copiar y pegar para recrear la hoja de trabajo en su totalidad. Verificar todo para asegurarse de que las hojas de trabajo devueltas sean las originales requiere mucho tiempo, por lo que Jack está buscando una forma de eliminar la capacidad de copiar y pegar las hojas de trabajo.

En teoría, deshabilitar la función de copiar y pegar es bastante fácil. Todo lo que necesita hacer es usar una macro corta, como la siguiente, en el objeto ThisWorkbook:

Private Sub Worksheet_Deactivate()

If ActiveSheet.ProtectContents = True Then         Application.CutCopyMode = False     End If End Sub

El uso de esta macro esencialmente borra el Portapapeles cada vez que alguien desactiva la hoja de trabajo seleccionando otra hoja de trabajo u otra aplicación.

Por supuesto, esto ofrece solo la protección más rudimentaria. Un usuario determinado aún puede copiar la hoja de trabajo usando el mouse para hacer clic con el botón derecho en el nombre de la hoja y luego hacer clic en Mover o Copiar, o podría deshabilitar las macros al iniciar el libro de trabajo y, por lo tanto, deshabilitar la rutina de limpieza del Portapapeles.

Quizás una mejor manera es observar cómo se hacen los negocios en la organización. Si no desea que la gente copie la hoja de trabajo, dígaselo desde el principio y asegúrese de que sepan que no aceptará ningún duplicado.

Hay formas muy sencillas de comprobar si lo que obtiene es un duplicado. Éstos son algunos de ellos:

  • Ponga una fórmula en una celda, luego oculte el contenido de la celda durante su proceso de protección. Si recupera la hoja de trabajo y desprotege la hoja de trabajo, y la fórmula no está allí, la hoja de trabajo es una copia.

  • Proteja la hoja de trabajo usando una contraseña. Si más adelante no puede desproteger la hoja de trabajo con la misma contraseña, sabrá que alguien más copió la hoja de trabajo y usó su propia contraseña.

  • Haga que su hoja de trabajo use fórmulas ocultas para acceder a los datos en una hoja de trabajo oculta. Si el usuario copia la hoja de trabajo, la hoja de trabajo oculta no se copia en el nuevo libro de trabajo, por lo que las fórmulas no darán las respuestas correctas.

  • Inserte un módulo de macro en el libro de trabajo y luego proteja el módulo.

El módulo no necesita hacer nada, pero si el libro de trabajo que recibe no tiene el módulo protegido o es un simple archivo XLSX, es una copia.

  • Agregue algo en el área de propiedades personalizadas del libro de trabajo. Si la propiedad personalizada no está en el libro de trabajo que recupera, es muy probable que el libro de trabajo no sea el original.

Otra cosa que puede intentar es establecer la propiedad de protección de celda en Oculto antes de proteger con contraseña su hoja de trabajo. Los usuarios pueden ver los resultados de lo que está en las celdas, pero no pueden ver las fórmulas. Si copian y pegan el contenido en otro lugar, las fórmulas no se transferirán, solo los resultados. Esto es muy fácil de detectar en el libro devuelto.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (12653) se aplica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 y Excel en Office 365. Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

link: / excel-Preventing_Someone_from_Recreating_a_Protected_Worksheet [Impedir que alguien vuelva a crear una hoja de trabajo protegida].