KB0156: Non riesco a incollare dati in un foglio dati thinkcell oppure la formattazione viene persa
- Home
- Risorse
- Knowledge base
- KB0156
Problema
Quando si copiano dati in una cartella di lavoro di Excel (.xlsx) e si incollano nel foglio dati di un elemento thinkcell, si verifica uno dei seguenti problemi:
- Si riceve un messaggio: Microsoft Excel cannot paste the data.
- Vengono incollate solo celle vuote.
- Il formato di data o numero è stato perso: ad esempio,
1/1/2012diventa40909oppure$3.5diventa3.5. - Dopo l'incollamento, i valori percentuali vengono visualizzati in modo errato. Nei grafici 100%, il layout del grafico può cambiare.
- Sebbene sia stato selezionato Use Datasheet Fill on Top, i colori delle celle non vengono visualizzati nell'elemento.
Questi problemi possono verificarsi anche quando si usano i collegamenti dati Excel di thinkcell.
Soluzione
Uno qualsiasi di questi problemi può verificarsi se la cartella di lavoro .xlsx contiene più di circa 65.490 stili di cella. Per controllare il numero di stili di cella, nella finestra Immediate dell'editor VBA, usare il comando print Activeworkbook.Styles.Count. Scopri di più
- Aprire l'editor VBA (Alt+F11).
- Se la finestra Immediate non è visibile, selezionare View > Immediate Window.
- Nella finestra Immediate, immettere
print Activeworkbook.Styles.Count, quindi selezionare Enter.
Per ridurre il numero di stili di cella nella cartella di lavoro interessata, provare una delle seguenti opzioni:
- Copiare i fogli di lavoro in una nuova cartella di lavoro. Scopri di più
In Excel 2013 e versioni successive, è possibile impedire l'accumulo di stili di cella inutilizzati copiando i fogli di lavoro interessati in una nuova cartella di lavoro.
- Selezionare tutti i fogli di lavoro nella cartella di lavoro: selezionare il primo foglio, tenere premuto Shift, quindi selezionare l'ultimo foglio.
- Fare clic con il pulsante destro del mouse sulla selezione, quindi selezionare Move or Copy.
- Nella finestra di dialogo Move or Copy, nel menu a discesa To book, selezionare (new book).
- Selezionare Create a copy, quindi selezionare OK.
- Salvare la nuova cartella di lavoro con un nuovo nome.
- Ripulire la cartella di lavoro usando XLStyles Tool. Scopri di più
- Aprire XLStyles Tool.
- Selezionare Get File.
- Selezionare il file desiderato, quindi selezionare Scan Selected File.
- In Used Styles, selezionare Force all Styles to "Normal".
- Selezionare Process File.
- Rimuovere gli stili di cella personalizzati dalla cartella di lavoro usando una macro VBA. Scopri di più
Usare la macro
DeleteCustomStyles()per rimuovere tutti gli stili di cella personalizzati dalla cartella di lavoro.- Aprire l'editor VBA (Alt+F11).
- Selezionare la cartella di lavoro, quindi selezionare Insert > Module.
- Immettere la macro seguente, quindi eseguirla (F5).
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 soluzione migliore sarebbe impedire agli utenti di incollare stili di cella inutilizzati in altre cartelle di lavoro, ma ciò richiede che Microsoft corregga un bug in Excel 2007 e versioni successive. Finora Microsoft non ha considerato l'impatto aziendale sufficientemente elevato da fornire questa correzione. Se la propria azienda dispone di un contratto di supporto Microsoft Office e si desidera richiedere una correzione a Microsoft, è possibile fare riferimento ai numeri di caso Microsoft 113012810172527 e 114021711190574 (Excel 2013).
Spiegazione
Quando si copiano e incollano dati di Excel oppure si trasferiscono dati tramite un collegamento dati di Excel, i dati vengono memorizzati nel formato BIFF12/.xlsb. Questo formato di file supporta circa 65.490 stili di cella. Se si copiano dati da una cartella di lavoro .xlsx con più stili di cella di quanti ne supporti il formato, non è possibile incollare i dati in un foglio dati thinkcell oppure i dati incollati perdono informazioni di formattazione. Scopri di più
I seguenti fattori possono contribuire a creare una cartella di lavoro Excel con più stili di cella di quanti ne supporti il formato BIFF12/.xlsb:
- Alcune cartelle di lavoro .xlsx contengono decine di migliaia di stili di cella a causa di bug e di una progettazione problematica del codice in Excel.
- Alcuni strumenti di reporting generano più stili di cella del necessario.
- Se si copiano una o più celle in un'altra cartella di lavoro in un'istanza di Excel separata o in un foglio dati thinkcell, tutti gli stili di cella inutilizzati vengono copiati anche nella cartella di lavoro o nel foglio dati. Scopri di più
Gli stili di cella inutilizzati vengono sempre copiati nei fogli dati thinkcell perché un foglio dati si basa su un foglio di lavoro di Excel in un'istanza separata di Excel.
Per avviare un'istanza separata di Excel in Excel 2013 e versioni successive, seguire questi passaggi: Scopri di più
- Aprire una cartella di lavoro di Excel.
- Tenere premuto Alt e fare clic con il pulsante destro del mouse sull'icona di Excel sulla barra delle applicazioni di Windows. Nel menu, selezionare Excel.
- Continuare a tenere premuto Alt finché non viene chiesto se si desidera avviare una nuova istanza di Excel. Selezionare Yes.
Se si copiano una o più celle in un'altra cartella di lavoro all'interno della stessa istanza di Excel, gli stili di cella inutilizzati non vengono copiati nell'altra cartella di lavoro.