Cómo evitar que Excel sobrescriba el formato de una celda al pegar valores formateados

Si pegas valores con formato en una celda que ya tiene un formato aplicado, el formato pegado tiene prioridad. Es un comportamiento inusual que la mayoría de nosotros no esperamos. ¿Para qué dar formato a una celda si puede ser fácilmente anulado? Ese es el problema con el que se encontró Aditee en una plantilla de Excel distribuida. En este artículo, discutiremos el problema y dos soluciones simples, ninguna de ellas perfecta.

Estoy usando Excel 2016 (escritorio) en un sistema Windows 10 de 64 bits. Puedes trabajar con tus propios datos o descargar los archivos de demostración .xlsx, .xls y .cls. La primera solución funciona en la edición de Excel para navegador; el procedimiento VBA no.

Índice de Contenido
  1. El problema: la pegada de valores en Excel sobrescribe el formato de la celda de destino
  2. Solución 1: Capacitar a los usuarios
  3. Solución 2: Utilizar VBA, con precaución
  4. Envíame tus preguntas sobre Office
  5. También puedes ver:

El problema: la pegada de valores en Excel sobrescribe el formato de la celda de destino

Aditee recopila datos de varios proveedores diferentes, que utilizan una plantilla de Excel. Cuando se ingresan valores de fecha, el formato de la plantilla se ajusta al formato AAAA-MM-DD, y funciona como se espera. Por otro lado, cuando alguien pega un valor de fecha, Excel ignora el formato de la celda de destino y conserva el formato de la fuente original, lo cual no es lo que esperan los usuarios. Aditee quiere un proceso automatizado que advierta a los usuarios cuando ingresen datos en un formato incorrecto.

Hay muchas características que se pueden considerar. La validación de datos puede rechazar las entradas que no sean de fecha, pero todavía no he encontrado una fórmula que también rechace valores de fecha que no se ajusten a un formato específico debido a que el valor subyacente es un valor de fecha serial. Por ejemplo, Excel almacena el 10 de mayo de 2018 como 43230, independientemente de su formato. Puedes cambiar el formato de la celda a texto y utilizar una regla personalizada para capturar los valores de cadena que no coincidan con el formato deseado, pero el problema inherente todavía existe: cuando el usuario pega un valor de fecha válido, Excel lo acepta como un valor de fecha y la regla de validación de datos se desactiva. Puedes intentar combinar características como la validación de datos y el formato condicional, pero nuevamente, Excel ignora tus mejores esfuerzos cuando un usuario pega un valor de fecha válido. Si vas a permitir que los usuarios peguen valores, debes capacitarlos para que peguen solamente los valores.

Para ilustrar este problema, trabajemos en un ejemplo rápido. La Figura A muestra el formato personalizado AAAA-MM-DD. Sin importar cómo ingreses la fecha 10 de mayo de 2018, Excel la muestra como 2018-5-4, como se ve en la Figura B. Intenta hacerlo tú mismo varias veces.

Figura A

Aplica un formato personalizado para mostrar las fechas en formato AAAA-MM-DD.

Figura B

El formato personalizado en acción.

Sin embargo, si pegas una fecha con un formato diferente, Excel acepta el formato de la fuente. Para complicar aún más la situación, ¡Excel cambia el formato de la celda de destino al del valor pegado! En otras palabras, después de pegar el valor en la celda B4 con formato de fecha en la celda C4 con formato personalizado, el formato de la celda B4 se modifica para ser igual al de C4; ahora B4 es una celda formateada como fecha en lugar de una celda formateada como personalizada, como se puede ver en la Figura C.

Cómo desactivar la personalización de anuncios en tu dispositivo Android

Figura C

La pegada anula el formato de la celda de destino.

Solución 1: Capacitar a los usuarios

La manera más fácil de resolver este problema es utilizar la opción de Pegado de Valores de Excel para pegar únicamente los valores. Utilicemos el mismo ejemplo para ilustrar cómo funciona esta característica simple:

  1. Si estás siguiendo el ejemplo, presiona Ctrl+z para deshacer la última pegada.
  2. Con la celda C4 seleccionada, presiona Ctrl+c para copiar el valor de la fecha al Portapapeles.
  3. Selecciona la celda B4, pero en lugar de presionar Ctrl+v para pegar el valor como lo harías normalmente, elige Valores del menú desplegable de Pegar (la Figura D) en el grupo Portapapeles (en la pestaña Inicio).

Figura D

Pegar Valores copia solamente el valor, por lo que el formato de la celda de destino se conserva.

Los usuarios pueden encontrar más fácil usar el botón de Opciones de Pegado:

  1. Repite el paso 2 anterior.
  2. Selecciona la celda B4 y presiona Ctrl+v como lo harías normalmente.
  3. Cuando Excel muestre el botón de Opciones de Pegado, haz clic en el menú desplegable y elige Valores (la Figura E). Excel mantendrá el valor de fecha, pero eliminará el formato que lo acompañaba.

Figura E

Utiliza el botón de Opciones de Pegado.

Si el botón de Opciones de Pegado no está visible, sigue estos pasos:

  1. Haz clic en el menú Archivo y selecciona Opciones.
  2. En el panel izquierdo, elige Avanzadas.
  3. En la sección Cortar, copiar y pegar, marca la opción Mostrar botón de Opciones de Pegado al pegar contenido.
  4. Haz clic en Aceptar.

Solución 2: Utilizar VBA, con precaución

Si no puedes confiar en los usuarios, puedes añadir un procedimiento VBA simple a la plantilla que distribuyes. Sin embargo, todavía será necesario un poco de capacitación, ya que los usuarios no utilizarán el procedimiento normal de pegado. El primer paso es agregar el procedimiento en el Listado A a la plantilla:

  1. Presiona Alt+F11 para abrir el Editor de Visual Basic (VBE).
  2. Usando el Explorador de proyectos, selecciona ThisWorkbook.
  3. Escribe el código utilizando el evento Workbook_SheetSelectionChange(). No copies el código de esta página web, el VBE no reconocerá todos los caracteres. En su lugar, escribe el código o utiliza el archivo ThisWorkbook.cls proporcionado en la descarga de demostración.
  4. Si estás utilizando una versión con cinta, regresa al libro y guarda el archivo como un libro con macros habilitadas (la Figura F).

Listado A:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
Target.PasteSpecial xlPasteValues
Application.CutCopyMode = True
Application.CutCopyMode = False
End Sub

Cómo habilitar y utilizar las respuestas predefinidas en Gmail

Figura F

Debes guardar el archivo como un archivo habilitado para macros.

Antes de probarlo, borra el contenido de la celda B4; ¡quiero que veas cómo funciona esto! Selecciona C4 y presiona Ctrl+c para copiar la fecha al Portapapeles. Ahora, haz clic en B4, ¡eso es todo! Simplemente haz clic en la celda de destino y el procedimiento pegará solamente la fecha del Portapapeles en la celda seleccionada.

Es necesaria un poco de capacitación para tus usuarios, ya que el procedimiento de pegado es diferente. Además, el evento SheetSelectionChange puede ralentizar el trabajo en una hoja de cálculo muy ocupada.

Un efecto secundario no deseado es que el procedimiento pegará otros contenidos del Portapapeles de formas no deseadas. Aunque la última línea del procedimiento borra el Portapapeles para que puedas moverte por la hoja de cálculo y trabajar normalmente, solo funciona en Excel. Si copias algo en otro documento (digamos un archivo de Word abierto) en el Portapapeles y luego vuelves al archivo de Excel, ¡el procedimiento pegará (nuevos) contenidos del Portapapeles en todas las celdas en las que hagas clic! La única forma de detener este efecto molesto es borrar el Portapapeles manualmente. (Puedes buscar en internet "Borrar Portapapeles de Windows" para obtener más información sobre esa tarea).

La verdad es que no es una condición fácil de vivir y por eso recomiendo la opción 1. Pruébala si te animas, pero no te sorprendas si los usuarios se quejan y terminas volviendo a la solución 1.

Envíame tus preguntas sobre Office

Respondo las preguntas de los lectores cuando puedo, pero no hay garantía. No envíes archivos a menos que se soliciten; las solicitudes iniciales de ayuda que lleguen con archivos adjuntos serán eliminadas sin leer. Puedes enviar capturas de pantalla de tus datos para ayudar a aclarar tu pregunta. Al contactarme, sé lo más específico posible. Por ejemplo, "Por favor, soluciona mi libro de trabajo y corrige lo que está mal" probablemente no recibirá una respuesta, pero "¿Me puedes decir por qué esta fórmula no está devolviendo los resultados esperados?" sí podría. Menciona la aplicación y versión que estás utilizando. No estoy reembolsado por Newsmatic por mi tiempo o conocimiento al ayudar a los lectores, y tampoco solicito una tarifa de los lectores a los que ayudo. Puedes contactarme en [email protected].

También puedes ver:

  • Cómo controlar el espaciado y la alineación en una lista numerada en Microsoft Word (Newsmatic)
  • Cómo utilizar el modelo de datos de Excel para convertir datos relacionados en información significativa (Newsmatic)
  • 5 formas de modificar y personalizar estilos en Microsoft Word (Newsmatic)
  • Cómo utilizar COUNTIFS() para comparar varios conjuntos de datos (Newsmatic)
  • Office Q&A: Un truco sencillo para reemplazar en Word y para encontrar registros duplicados en Excel (Newsmatic)

Cómo numerar los encabezados en Microsoft Word de manera fácil y rápida

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Software, allí encontraras muchos artículos similares a Cómo evitar que Excel sobrescriba el formato de una celda al pegar valores formateados , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.