Eliminazione del codice VBA in un foglio di lavoro copiato (Microsoft Excel)
Peter ha regolarmente bisogno di copiare un foglio di lavoro principale su una copia in una nuova cartella di lavoro. Può farlo perfettamente con VBA. Tuttavia, al foglio di lavoro che sta copiando è associato un codice e anche il codice viene copiato.
Peter non vuole il codice nella copia, ma vuole che sia lasciato nell’originale. Si chiede se c’è un modo, nella sua macro, per eliminare il codice del foglio di lavoro nel foglio di lavoro appena copiato.
Il modo in cui procedi dipende da come desideri che appaia la cartella di lavoro finita (quella su cui stai copiando). In primo luogo, la cartella di lavoro finita conterrà delle macro, delle macro o no? Se la risposta è no, non conterrà alcuna macro, quindi puoi eseguire facilmente l’attività salvando la nuova cartella di lavoro in formato XLSX. In questo modo Excel si occupa di sbarazzarsi di tutte le macro per te. Puoi farlo includendo una riga nel tuo codice simile alla seguente quando salvi la cartella di lavoro:
ActiveWorkbook.SaveAs FileName:="MyExcelFile.xlsx", _ FileFormat:=xlOpenXMLWorkbook
Se, tuttavia, si desidera eliminare solo il codice del foglio di lavoro ma salvare la nuova cartella di lavoro con qualsiasi altro codice macro intatto, sarà necessario adottare un approccio diverso. In questo caso, potresti includere la seguente riga nella tua macro:
ActiveWorkbook.VBProject.VBComponents("Sheet1")
Ciò presuppone che la nuova cartella di lavoro sia la cartella di lavoro attiva e che il foglio di lavoro di cui si desidera eliminare il codice sia denominato Sheet1. Puoi anche usare queste righe per eseguire lo stesso compito:
wsName = ActiveSheet.CodeName With ThisWorkbook.VBProject.VBComponents(wsName).CodeModule .DeleteLines 1, .CountOfLines End With
Notare che wsName dovrebbe essere dichiarato come una variabile di stringa.
Per un sacco di altri modi in cui puoi influenzare diversi moduli di codice a livello di programmazione, non puoi sbagliare facendo riferimento alle eccellenti informazioni di Chip Pearson qui:
http://cpearson.com/excel/vbe.aspx
|| _Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
link: / excelribbon-ExcelTipsMacros [Fare clic qui per aprire quella pagina speciale in una nuova scheda del browser]
.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (7612) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 e Excel in Office 365.