Risolto Macro che copia i dati da un file ad un altro

JoseKal

Utente junior
30 Aprile 2019
45
6
Excel2013
1
Allora, va bene solo al primo tentativo.
Dopo però, il formato delle celle cambia, (ad esempio alcune sono unite, altre nascoste) e quindi mi da errore perché vuole lo stesso formato.
Allora ho pensato di fare una macro, che viene richiamata prima di incollare i dati, che cancella i dati del foglio e ripristina il formato del foglio come d'origine, cancellando le celle unite e facendo rivedere quelle nascoste.

Ma qual è l'istruzione che mi fa ripristinare il formato delle celle come d'origine? (come se fosse un foglio nuovo).

DI seguito il codice che mi cancella e rende visibile le celle:
Visual Basic:
Sub PulisciFoglio()

ActiveSheet.Unprotect
Application.ScreenUpdating = False

Dim WK1 As Workbook
Dim sh1 As Worksheet

Set WK1 = ThisWorkbook
Set sh1 = WK1.Worksheets("file1")

'Cancella il contenuto copiato
sh1.Select
    Range("A1:AF100").Select
    Selection.ClearContents
   
    'Rendi visibile le celle che hai nascosto prima
With sh1
.Range("H:W, OP:AG").EntireColumn.Hidden = False
End With

End Sub
Vorrei inserirci in questa macro, anche il ripristino delle celle. Come posso fare?

p.s. Ma è possibile ripristinare il foglio con un'unica istruzione?

Grazie
 

JoseKal

Utente junior
30 Aprile 2019
45
6
Excel2013
1
Ho utilizzato una registra macro, per prendere i comandi, ed adesso funziona. Solo che è un codice non pulito; volevo un codice snello ed efficiente. Questo rallenta un poco.
 

JoseKal

Utente junior
30 Aprile 2019
45
6
Excel2013
1
hai ragione ges @ges , ma credevo che copiando i dati copiava di pari passo anche formato e formattazione.

Diciamo che potrebbe andare bene anche cosi, ma volevo un codice snello per sostituire la macro che ho registrato. (disunisce le celle ).
 

JoseKal

Utente junior
30 Aprile 2019
45
6
Excel2013
1
Prima di chiudere:

Rimangono selezionate le colonne e righe, dopo aver impostato la formattazione con la "registra macro".

Ho provato a selezionare un range diverso per eliminare la selezione, ma non funziona.

Ho provato anche il seguente codice senza esito
Visual Basic:
Application.CutCopyMode = False
Quale istruzione posso utilizzare per deselezionare le aree rimaste selezionate?

Grazie a tutti
 

JoseKal

Utente junior
30 Aprile 2019
45
6
Excel2013
1
Funziona. Anche se toglie le barre dello scroll! Devo capire perché!
Però per quello k devo fare, mi va bene comunque.

Grazie
 

Sostieni ForumExcel

Aiutaci a sostenere le spese e a mantenere online la community attraverso una libera donazione!