Base de conocimientos KB0156

No puedo pegar datos en la hoja de datos de think-cell o bien el formato se ha perdido

Síntomas

Dispone de datos en un libro de Excel (.xlsx) y desea copiarlos/pegarlos en la hoja de datos interna de un gráfico de think-cell. Al pegar los datos, observa uno de los problemas siguientes:

  • Recibe un mensaje: No se pueden pegar los datos.
  • Solo se pegan celdas vacías.
  • Su formato de fecha o número se ha perdido, por ejemplo, 1/1/2012 se convirtió en 40909 o $3,5 en 3,5.
  • Después de pegar, los valores de porcentaje se muestran incorrectamente. En los gráficos 100%, el diseño del gráfico puede cambiar.
  • Los colores de las celdas no aparecen en el gráfico a pesar de que ha marcado la opción Utilizar relleno de hoja de datos en parte superior.

Estos problemas también pueden aparecer al utilizar vínculos de datos de Excel de think-cell.

Problema 1

Cualquiera de los problemas enumerados anteriormente puede surgir si el libro .xlsx contiene más de aproximadamente 65 490 estilos de celda. Puede comprobar el número de estilos de celda con el siguiente comando de VBA en la Ventana Inmediato:
print Activeworkbook.Styles.Count

Los pasos para comprobarlo son los siguientes:

  1. Pulse Alt+F11 para abrir el editor de VBA.
  2. Vaya a la ventana Inmediato. Si no es visible, puede mostrarla haciendo clic en VerVentana Inmediato.
  3. Escriba el comando siguiente y pulse Intro
    print Activeworkbook.Styles.Count

Solución 1: Limpiar los libros afectados

  • Copie sus hojas de cálculo en un nuevo libro

    En Office 2013 y versiones posteriores, la copia de hojas de cálculo entre libros evita la acumulación de estilos de celda no utilizados de forma predeterminada:

    • Seleccione todas las hojas de su libro: mantenga pulsada la tecla MAYÚS y haga clic en la primera y la última hoja de cálculo
    • Haga clic con el botón derecho en la selección: Mover o copiar…Al libro: (libro nuevo) y marque Crear una copiaAceptar
    • Guarde el nuevo libro con un nombre diferente

    En Office 2007 y 2010, al copiar una hoja de cálculo en un libro nuevo, se copian todos los estilos de celda no utilizados. Para evitar esto, active primero la revisión siguiente:

    Si su versión de Office está plenamente actualizada, esta revisión probablemente ya estará instalada. No obstante, también tiene que activar esta revisión, bien utilizando la solución Fix it proporcionada por Microsoft o en el registro, como se explica en los siguientes artículos de Microsoft:

    Si activar la revisión no resuelve el problema, aplique la actualización mencionada en la sección Resolution de los artículos de Microsoft indicados anteriormente.

  • Limpie los libros afectados con una herramienta de limpieza

    Use la herramienta de limpieza recomendada por Microsoft en KB213904. Con la herramienta XLStyles, haga clic en Obtener archivo de Excel, marque Forzar los estilos de todas las celdas a 'Normal' y, a continuación, haga clic en Procesar archivo. Cuando se abra Excel con el archivo limpio, guárdelo con un nombre nuevo.

  • Elimine los estilos de celda personalizados de su libro utilizando una macro de VBA

    Abra el editor de VBA con Alt+F11. Seleccione el libro y haga clic en InsertarMódulo. A continuación, pegue la siguiente macro y ejecútela pulsando F5:

    DeleteCustomStyles() elimina de su libro todos los estilos de celda personalizados.

    Sub DeleteCustomStyles()
    Dim st As Style
    Dim i, i_cust As Long
    i_cust = 0
    For i = (ActiveWorkbook.Styles.Count) To 1 Step -1
    	With ActiveWorkbook.Styles(i)
    		If .BuiltIn = False Then
    			On Error Resume Next
    			.Locked = False
    			On Error GoTo 0
    			If Not .Locked Then
    				.Delete
    				i_cust = i_cust + 1
    			End If
    		End If
    	End With
    	If (i Mod 100) = 0 Then Debug.Print i
    Next
    MsgBox "Styles deleted: " & i_cust & " styles" & Chr(13) & "Styles left: " & ActiveWorkbook.Styles.Count
    End Sub

La mejor solución sería evitar pegar los estilos de celda sin usar, pero es necesario que Microsoft solucione un error en Excel 2007 y versiones posteriores. Hasta el momento Microsoft no ha considerado el impacto comercial lo suficientemente importante como para proporcionar esta corrección. Si su empresa tiene un contrato de soporte técnico de Microsoft Office y desea ponerse en contacto con Microsoft para solicitar una corrección, puede indicar el número de caso de Microsoft 113012810172527, 114021711190574 (Excel 2013).

Explicación 1

El formato de archivo utilizado al pegar datos en la hoja de datos de think-cell o al transferirlos mediante un vínculo de datos de Excel (formato de archivo Biff12/.xlsb) admite aproximadamente 65 490 estilos de celda. Al transferir datos desde un libro .xlsx con una cantidad mayor de estilos de celda a una hoja de datos de think-cell, o bien se pierde la información de formato, o bien no es posible pegar los datos.

Algunos libros .xlsx contienen un número muy grande de estilos de celda (varias decenas de miles) debido a errores y al diseño de código problemático en Excel. Un factor que contribuye también son las herramientas de informes que a veces generan innecesariamente muchos estilos de celda. En ciertas condiciones, también se copian todos los estilos de celda no utilizados al copiar celdas u hojas de cálculo entre libros.

  • Copiar una hoja de cálculo en un nuevo libro con Excel2007 o 2010:
    Haga clic con el botón derecho en la pestaña de la hoja de cálculo → Mover o copiar…Al libro: (libro nuevo libro) y marque Crear una copia.
  • Copiar/pegar celdas (incluso una sola celda) en otro libro en un proceso de Excel independiente o en la hoja de datos interna de think-cell
    • Para iniciar un proceso de Excel independiente, haga clic con el botón derecho en el símbolo de Excel de la barra de tareas y, a continuación, haga clic en Microsoft Excel 20… Cómo iniciar un proceso independiente de Excel.
    • En Excel 2013 y versiones posteriores, mantenga pulsada la tecla ALT simultáneamente para iniciar un proceso independiente. Confirme el mensaje ¿Desea iniciar una nueva instancia de Excel? haciendo clic en .
    • think-cell se ve afectado porque nuestra hoja de datos se basa en una hoja de cálculo de Excel en un proceso de Excel independiente.

La copia de celdas en un libro nuevo dentro del mismo proceso de Excel no copia los estilos de celda no utilizados.

Problema 2

Puede ser posible copiar/pegar correctamente por primera vez datos de un libro de Excel (.xlsx) en la hoja de datos interna de un gráfico de think-cell; sin embargo, cualquier intento posterior de copiar/pegar (incluso a partir de una celda vacía) en la misma hoja de datos generará el mensaje: No se pueden pegar los datos. En tal caso, los otros problemas que se mencionan en la sección Síntomas anterior no se producirán.

Este problema se produce al copiar datos entre procesos de Excel independientes, si el estilo personalizado de tabla del mismo nombre existe tanto en el archivo de origen como en el archivo de destino. Como la primera operación de copiar/pegar también copia todos los estilos personalizados de tabla, los intentos posteriores de copiar/pegar fallarán. El problema se puede reproducir sin think-cell.

Reproducción sin think-cell

  1. Abra dos procesos de Excel. Si Excel ya está abierto y se crea un nuevo libro con Ctrl+N, el segundo libro se mantiene dentro del mismo proceso de Excel.
    • Para iniciar un proceso de Excel independiente, haga clic con el botón derecho en el símbolo de Excel de la barra de tareas y, a continuación, haga clic en Microsoft Excel 20… Cómo iniciar un proceso independiente de Excel.
    • En Excel 2013 y versiones posteriores, mantenga pulsada la tecla ALT simultáneamente para iniciar un proceso independiente. Confirme el mensaje ¿Desea iniciar una nueva instancia de Excel? haciendo clic en .
  2. En el libro que está abierto en el primer proceso de Excel, vaya a ExcelInicioEstilosDar formato como tablaNuevo estilo de tabla...Aceptar. Se introducirá un estilo personalizado de tabla nuevo llamado "Estilo de tabla 1".
  3. Copie/pegue una celda del libro que contiene el "Estilo de tabla 1" en el otro libro del segundo proceso de Excel. Se realiza correctamente la primera vez.
  4. Una vez más, copie/pegue una celda del libro que contiene el "Estilo de tabla 1" en el otro libro del segundo proceso de Excel. La segunda vez se producirá un error con el mensaje: No se pueden pegar los datos.

Solución 2

  • Excel 2007 y las versiones anteriores no están afectadas por este problema.
  • En noviembre de 2015, el problema continuaba produciéndose en Excel 2010. Si su empresa tiene un contrato de soporte técnico de Microsoft Office y desea ponerse en contacto con Microsoft para solicitar una corrección, puede indicar el número de caso de Microsoft 113012810172527, 114021711190574 (Excel 2013).

    Entretanto, puede usar las soluciones alternativas siguientes:

    • Pegar los datos en la hoja de datos de think-cell como texto:

      hoja de datos de think-cellPegarMás (el pequeño botón triangular al lado del botón Pegar) → Pegado especial…TextoAceptar.

    • Haga clic en el botón Borrar los formatos de todas las celdas de la hoja de datos interna de think-cell. De esta manera, se eliminarán los estilos de tabla personalizados de la hoja de datos y los comandos para pegar se podrán usar al menos una vez.
  • Microsoft ha corregido este problema en Excel 2013. Instale el KB2881014 de las actualizaciones de Microsoft Office del 10 de junio de 2014, o bien la revisión KB2881042.

Compartir