Base de conhecimento KB0156

Não consigo copiar dados para a planilha do think-cell ou o formato é perdido

Sintomas

Você tem dados em uma pasta de trabalho do Excel (.xlsx) e deseja copiá-los/colá-los na planilha de dados interna de um think-cell chart. Quando você cola os dados, observa um dos seguintes problemas:

  • Você recebe uma mensagem: O Microsoft Excel não pode colar os dados.
  • Somente são coladas células vazias.
  • O seu formato de data ou número foi perdido, como por exemplo, 1/1/2012 transforma-se em 40909 ou $3,5 transforma-se em 3,5.
  • Depois de colar, os valores de porcentagem são exibidos incorretamente. Em gráficos de 100%, o layout do gráfico pode mudar.
  • As cores da célula não aparecem no gráfico, embora você tenha assinalado a opção Usar preenchimento da planilha de dados como preferência.

Esses problemas também podem ocorrer quando você usa os vínculos de dados do Excel do think-cell.

Problema 1

Qualquer um dos problemas listados acima pode acontecer se a pasta de trabalho .xlsx contiver mais de 65490 estilos de célula. Você pode verificar o número dos estilos de célula com o seguinte comando VBA no Immediate Window:
print Activeworkbook.Styles.Count

Aqui estão detalhas as etapas para verificar isso:

  1. Pressione Alt+F11 para abrir o editor do VBA.
  2. Vá para Janela Imediata. Se ela não estiver visível, você pode exibi-la clicando em ExibirJanela Imediata.
  3. Digite o comando a seguir e pressione Enter
    print Activeworkbook.Styles.Count

Solução 1: Limpar pastas de trabalho afetadas

  • Copiar suas planilhas em uma nova pasta de trabalho

    No Office 2013 e posteriores, copiar planilhas entre pastas de trabalho evita o acúmulo de estilos de células não usados por padrão:

    • Selecione todas as planilhas em sua pasta de trabalho: mantenha pressionada a tecla SHIFT e clique na primeira e na última planilhas
    • Clique com o botão direito do mouse na seleção: Mover ou copiar… Para reservar: (nova reserva) e marcar Criar uma cópia OK
    • Salve a nova pasta de trabalho com um novo nome

    No Office 2007 e 2010, copiar planilhas em uma nova pasta de trabalho copia todos os estilos de células não usados. Para evitar isso, ative primeiro o seguinte Hotfix:

    Se sua versão do Office estiver totalmente atualizada, esse Hotfix provavelmente já estará instalado. Entretanto, você também precisa ativar essa correção usando a solução Fix it fornecida pela Microsoft ou no registro, conforme explicado nos artigos a seguir da Microsoft:

    Se a ativação do Hotfix não funcionar, aplique a atualização mencionada na seção Resolução nos artigos da Microsoft acima.

  • Limpe suas pastas de trabalho com uma ferramenta de limpeza

    Use a ferramenta de limpeza recomendada pela Microsoft em KB213904. Usando a ferramenta XLStyles, clique em Obter Arquivo do Excel, marque Forçar todos os estilos de célula para 'Normal', e então, clique em Processar Arquivo. Quando o Excel é aberto com o arquivo limpo, salve-o com um novo nome.

  • Remova os estilos de célula personalizados da sua pasta de trabalho usando uma macro VBA

    Abra o editor do VBA com Alt+F11. Selecione sua pasta de trabalho e clique em Inserir Módulo. Então copie uma das macros a seguir e execute-a pressionando F5:

    DeleteCustomStyles() remove todos os estilos de célula personalizados da sua pasta de trabalho.

    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

A melhor solução seria evitar colar estilos de célula não usados, mas exige que a Microsoft corrija um bug no Excel 2007 e posteriores. Até agora, a Microsoft não considerou o impacto empresarial suficientemente elevado para fornecer essa correção. Se sua empresa tiver um contrato de suporte do Microsoft Office e você desejar entrar em contato com a Microsoft para solicitar uma correção, consulte o número de caso 113012810172527, 114021711190574 na Microsoft (Excel 2013).

Explanation 1

O formato de arquivo usado ao colar dados na planilha do think-cell ou ao transferi-los em um vínculo de dados do Excel (formato de arquivo Biff12/.xlsb) suporta 65490 estilos de célula, aproximadamente. Ao transferir dados de uma pasta de trabalho .xlsx com um grande número de estilos de célula para uma planilha do think-cell, a informação de formatação é perdida ou não é possível colar.

Algumas pastas de trabalho .xlsx contêm um elevado número (várias dezenas de milhares) de estilos de célula devido a bugs e design de código problemático no Excel. Um fator contribuinte são também as ferramentas de criação de relatórios que por vezes geram muitos estilos de célula desnecessários. Em determinadas condições, todos os estilos de célula não usados são copiados ao copiar células ou planilhas entre pastas de trabalho.

  • Copiar uma planilha para uma nova pasta de trabalho com o Excel 2007 ou 2010:
    Clique com o botão direito na guia da planilha → Mover ou copiar…Para reservar: (nova reserva) e marque Criar uma cópia.
  • Copiar/colar células (mesmo uma única célula) em outra pasta de trabalho em um processo de Excel separado ou em uma planilha de dados do think-cell
    • Para iniciar um processo de Excel separado, clique com o botão direito do mouse no símbolo do Excel na barra de tarefas e clique em Microsoft Excel 20 Como iniciar um processo de Excel separado.
    • No Excel 2013 e posteriores, mantenha a tecla ALT pressionada simultaneamente para iniciar um processo separado. Confirme a mensagem Você deseja iniciar uma nova instância do Excel? com Sim.
    • O think-cell é afetado porque nossa planilha de dados baseia-se em uma planilha do Excel em um processo separado do Excel.

A cópia de células na mesma pasta de trabalho não copia estilos de célula não usados.

Problema 2

A princípio, é possível copiar/colar com sucesso dados de uma pasta de trabalho do Excel (.xlsx) em uma planilha interna de dados de um gráfico do think-cell, mas qualquer tentativa posterior de copiar/colar (mesmo a partir de uma célula vazia) na mesma planilha de dados fará surgir a mensagem O Microsoft Excel não pode colar os dados. Nesse caso, os demais problemas mencionados na seção Sintomas acima não ocorrerão.

Esse problema acontece ao copiar dados entre processos separados do Excel, se um estilo de tabela personalizado existir com o mesmo nome em ambos os arquivos de origem e de destino. Uma vez que o primeiro copiar/colar também copia qualquer estilo de tabela personalizado, a tentativa seguinte de copiar/colar será falha. O problema pode ser reproduzido sem o think-cell.

Reprodução sem o think-cell

  1. Abra dois processos do Excel. Se o Excel já estiver aberto e você criar uma nova pasta de trabalho com Ctrl+N, a segunda pasta de trabalho será mantida no mesmo processo do Excel.
    • Para iniciar um processo de Excel separado, clique com o botão direito do mouse no símbolo do Excel na barra de tarefas e clique em Microsoft Excel 20 Como iniciar um processo de Excel separado.
    • No Excel 2013 e posteriores, mantenha a tecla ALT pressionada simultaneamente para iniciar um processo separado. Confirme a mensagem Você deseja iniciar uma nova instância do Excel? com Sim.
  2. Na pasta de trabalho que estiver aberta no primeiro processo do Excel, vá para ExcelInícioEstilosFormatar como tabelaNovo estilo de tabela ...OK. Isso irá inserir um novo estilo de tabela personalizado chamado "Estilo de tabela 1".
  3. Copie/cole uma célula da pasta de trabalho contendo "Estilo de tabela 1" para outra pasta de trabalho no segundo processo do Excel. Isso funciona pela primeira vez.
  4. Novamente, copie/cole uma célula da pasta de trabalho contendo "Estilo de tabela 1" para outra pasta de trabalho no segundo processo do Excel. Na segunda vez que a falha ocorrer, ela virá acompanhada da mensagem O Microsoft Excel não pode colar os dados.

Solução 2

  • O Excel 2007 e versões anteriores não são afetados por esse problema.
  • No Excel 2010, o problema ainda pode ocorrer até novembro de 2015. Se sua empresa tiver um contrato de suporte do Microsoft Office e você desejar entrar em contato com a Microsoft para solicitar uma correção, consulte o número de caso na Microsoft 113012810172527, 114021711190574 (Excel 2013).

    Enquanto isso, você pode usar os seguintes atalhos:

    • Cole os dados na planilha do think-cell como texto:

      planilha de dados do think-cellColarMais (o pequeno botão de triângulo ao lado do botão Colar) → Colar especial …TextoOK.

    • Clique no botão Limpar os formatos de todas as células na planilha de dados interna do think-cell. Isso remove qualquer estilo de tabela personalizado da planilha de dados e os comandos de colagem subsequentes funcionarão pelo menos uma vez.
  • A Microsoft consertou esse problema na versão 2013. Instale o KB2881014 a partir das atualizações do Microsoft Office de 10 de junho de 2014 ou o hotfix KB2881042.

Compartilhar