Fast Excel Development Template v4.4

Abbiamo una nuova versione del modello di sviluppo Excel rapido. Si tratta di miglioramenti derivanti dal fatto che il nostro team ha utilizzato questo modello per creare decine di strumenti e sistemi di pianificazione. Sono passati 15 mesi dall’ultimo aggiornamento e abbiamo molte cose da condividere.

Gran parte di questo lavoro è stato svolto con dedizione e brillantezza di programmazione dal mio amico e collega: Gabriele Tettamanzi. Gli dobbiamo molto: la versione 4.4 del Fast Excel Development Template è molto migliore grazie al suo duro lavoro e alla sua intelligente risoluzione dei problemi.

Ci sono diverse aree di miglioramento, quindi ecco un riepilogo per avere un’idea del contesto e poi approfondiremo i dettagli.

Ecco la pagina di download per il modello di sviluppo rapido di Excel v4.4.

Riepilogo dei miglioramenti apportati al modello

Performance

Sono state apportate diverse modifiche per rendere l’automazione più veloce e affidabile. La versione 4.3 presentava alcune limitazioni, in particolare quando si eseguiva l’automazione con cartelle di lavoro contenenti molti dati (oltre 30 MB). La versione 4.4 ha strumenti per garantire che ogni cartella di lavoro funzioni senza problemi con una sostanziale riduzione del rischio di danneggiamento dei file. Di conseguenza, è più affidabile che mai. Vi mostreremo alcuni esempi e condivideremo le best practice nell’utilizzo del modello, in particolare con sistemi più grandi. Vi mostreremo anche come aggiornare in modo sicuro strumenti e moduli creati in una versione precedente.

PowerQuery

Il modello è stato reso compatibile con le query di testo di PowerQuery. Ciò significa che puoi scegliere tra “Ottieni dati > Legacy Wizards/ From Text (Legacy)” (MS Query) o “Ottieni dati > From File / From Text/CSV” (PowerQuery). Ci sono pro e contro per ognuno e ne parleremo. PowerQuery è molto potente e il modello è molto meglio per supportarlo.

PowerShell

Un altro “potere” per voi. Windows PowerShell è un programma di gestione dell’automazione e della configurazione. È destinato a sostituire il prompt dei comandi CMD.exe come modo per fornire istruzioni al sistema operativo. PowerShell è il modo migliore per fare cose che sono al di fuori dell’ambiente Office. Ora c’è un set di strumenti PowerShell, tra cui una funzione di base che significa che l’intero PowerShell è disponibile da Excel. Un argomento più avanzato, ma vi mostrerò alcuni esempi pratici, come l’impilamento dei file per ottenere una cronologia dell’inventario.

Compatibilità futura

Abbiamo guardato avanti per vedere cosa ci aspetta in termini di cambiamenti in Excel e Windows. Il modello è stato aggiornato per essere compatibile con alcuni di questi. I cambiamenti includono: accesso ridotto a C-Drive in Windows 11; deprecazione di VBScript e possibile perdita di FileSystemObject (FSO); conflitto di componenti aggiuntivi con Windows 11; BAT, CMD e passaggio a PowerShell. Alcuni di questi sono più tecnici e potrebbero non interessarti oggi.

Nuove funzionalità

Infine, ci sono nuove funzionalità! Relativamente piccole, ma utili. Includono: impilamento di file di testo (senza intestazioni ripetute); copia in blocco e conversione di file tramite una tabella; pulizia delle formule.

Tutorial dettagliato sull’utilizzo del nuovo Template

Come garantire prestazioni affidabili con l’automazione senza codice

Il Fast Excel Development Template ha un’automazione senza codice dalla versione 4.0, rilasciata nell’ottobre 2010. Ciò significa che puoi creare la tua cartella di lavoro Excel, foglio per foglio, utilizzando ogni foglio modello. Query, Tabella, Stack, Pivot. Quindi, puoi eseguire l’automazione per creare la routine VBA senza dover mai entrare nell’editor VBA.

Dalla versione 4.2, rilasciata nell’ottobre 2022, c’è un nuovo template: ModuleList. Questo ti consente di creare ed eseguire un sistema di moduli, ogni modulo nella sua cartella di lavoro. Di nuovo, senza dover scrivere codice VBA da solo. Questa è l’automazione senza codice in azione.

Ora c’è un tasto rapido per attivare e disattivare l’automazione: CTRL-Shift-A. Ora puoi eseguire l’automazione della cartella di lavoro senza dover andare nel foglio Menu e nel pulsante “Switch Automation Off/On”.

Anche se il modello ora supporta sistemi modulari con più cartelle di lavoro, la prassi migliore è quella di eseguire l’automazione con una cartella di lavoro aperta alla volta. Ciò è particolarmente vero se si hanno molti dati in una o più cartelle di lavoro. “Molti” è definito come 100k+ righe o più tabelle con 30-50k righe al suo interno. Tuttavia, i metodi utilizzati per eseguire l’automazione sono stati revisionati e resi molto più affidabili, anche nei casi in cui questa prassi non viene seguita.

Uno dei vantaggi della creazione con moduli è che puoi cancellare i dati, salvare e quindi eseguire a livello di programmazione. Ciò chiuderà la cartella di lavoro in seguito senza salvare, quindi rimarrà fresca come il giorno in cui è nata. Di conseguenza, in genere non abbiamo problemi con le cartelle di lavoro che agiscono come moduli una volta completate. Tuttavia, quando si sviluppa, a volte capita che la cartella di lavoro abbia fogli di calcolo con molti dati e si utilizzi l’automazione.

Ci sono alcuni problemi noti nell’uso di VBA per scrivere VBA. Il principale è il “cruft”, ovvero la spazzatura di codice che si accumula nel file della cartella di lavoro. Se si accumula, può aumentare il rischio di corruzione del file e crash in futuro. In particolare con cartelle di lavoro di grandi dimensioni.

Ora è disponibile un pulsante “Reimposta moduli VBA” (scorrere verso il basso nel foglio Menu) che aiuta a mantenere la cartella di lavoro al sicuro da danneggiamenti e dal tipo di problemi che potrebbero causare l’arresto anomalo di un file Excel quando si utilizza VBA per scrivere codice VBA.

Un altro guadagno di prestazioni nell’esecuzione delle macro di aggiornamento deriva da un uso migliore dell’impostazione dei calcoli su manuale, specialmente per gli Stack, e quindi dal ritorno all’impostazione originale alla fine della routine. Ciò è automatizzato e applicato a ogni esecuzione.

Un’altra modifica per migliorare le prestazioni: ora puoi usare il formato binario .xlsb per i moduli. I file Excel binari sono più snelli e non hanno il contenuto XML disordinato che si trova in un normale file Excel. Sono archiviati in binario, quindi hanno dimensioni di file più piccole (circa il 50%), sono più veloci (circa il 20%) e sono più stabili perché c’è meno da corrompere. Se hai moduli che hanno molti dati, vale la pena considerare di salvarli come .xlsb. Il formato predefinito è ancora .xlsm, ma se aggiungi l’estensione file .xlsb al nome file nel modello ModuleList, funzionerà per i file binari.

Come aggiornare una cartella di lavoro esistente al nuovo Development Template

Ciò presuppone che la cartella di lavoro esistente sia stata creata con una versione precedente del nostro modello di sviluppo rapido di Excel. Non c’è modo di applicare il modello a una cartella di lavoro creata senza seguire il metodo di sviluppo rapido di Excel. Tutte le funzioni del modello dipendono da una buona disciplina: intestazioni nella riga 10, contenuto controllato nelle righe 6:9, tabelle di dati continue, nomi di fogli senza spazi e così via.

Questo processo funzionerà per qualsiasi cartella di lavoro sviluppata con un Template 4.0 e superiore. Dovrebbe funzionare per le cartelle di lavoro create con Template 3.0, ma non è stato ampiamente testato. Siate consapevoli e non provate mai questo aggiornamento senza prima aver eseguito Salva con nome.

Attualmente, è necessario eseguire questo processo all’interno dell’editor VBA. Questo processo non è incluso nelle operazioni “No-Code” possibili con il modello.

  1. Salva il nuovo modello nella cartella che contiene il progetto che desideri aggiornare, ad esempio C:\Planning
  2. Modificare il percorso del file nel file template vuoto in modo che corrisponda alla cartella dati, ad esempio C:\Planning\Data.
  3. Aprire la cartella di lavoro da aggiornare e salvare con nome con un numero di versione aggiornato (come nella Figura 1)
  4. Aprire l’editor VBA (Alt-F11) e andare alla finestra del progetto. (Figura 2)
  5. Copia qualsiasi codice personalizzato creato nel modulo Update_Macro, cartella di lavoro per eseguire l’aggiornamento ad Update_Macro nel nuovo modello.
  6. Fare doppio clic sul modulo ModuleTools nel nuovo modello. Eseguire la macro ExportModules().
  7. “ModuleTools” e/o “Module_Tools”.
    Per fare ciò, procedi come segue: fai clic con il pulsante destro del mouse sul modulo > “Rimuovi ModuleTools” > “No” in “Vuoi esportare?” (Figura 2)
  8. Trascinare il modulo “ModuleTools” dal nuovo modello al progetto della cartella di lavoro da aggiornare. (come figura 2)
  9. Controlla di avere una nuova cartella nella cartella del tuo progetto chiamata “VBAProjectFiles” come nella figura 3. In caso contrario, ripeti il ​​passaggio 2 e controlla che sia stata aggiornata nel foglio PARA del nuovo modello. Quindi ripeti il ​​passaggio 6 e controlla di nuovo la cartella.
  10. Salva entrambe le cartelle di lavoro. Fai doppio clic su ModuleTools in Project Explorer ON THE WORKBOOK TO UPGRADE ed esegui la macro DeleteModules(). Fai attenzione a usare il ModuleTools corretto!
  11. Dovrebbe esserci solo un modulo nella cartella di lavoro da aggiornare e un set completo di moduli nel nuovo modello, come mostrato nella Figura 4.
  12. Fare doppio clic su ThisWorkbook nella sezione Oggetti Microsoft Excel della finestra Progetto sul nuovo modello e copiare la macro Workbook_Activate() nello stesso posto: ThisWorkbook, la Cartella di lavoro da aggiornare.
  13. Fai doppio clic sul modulo ModuleTools nella Cartella di lavoro da aggiornare. Esegui la macro ImportModules(). Di nuovo, assicurati di essere nel ModuleTools corretto.
  14. Ora dovresti vedere tutti i nuovi moduli nella tua cartella di lavoro. Esegui l’automazione nella Cartella di lavoro aggiornata (se l’hai creata in precedenza con l’automazione OPPURE se il tuo sviluppo è conforme al processo di automazione.
  15. Facoltativo. Le uniche altre modifiche che potresti voler trasferire sono le formule per i seguenti parametri: PARA_FilePath_Archive; PARA_FilePath_Input_Local e PARA_FilePath_Modules. Potresti non usarle, oppure quelle vecchie potrebbero funzionare bene a seconda dei tuoi percorsi file. Ma se le copi, sai di avere piena compatibilità.
  16. Controlla che tutto vada bene. Hai finito.
Figura 1
Figura 2
Figura 3
Figura 4

Come utilizzare PowerQuery insieme al Fast Excel Development Template

Il template ora supporta completamente l’uso di PowerQuery per creare query di file di testo. Come avrai notato, nei tutorial precedenti abbiamo usato la “Legacy Wizard” per fare query di file di testo. La Legacy Wizard usa il vecchio metodo Query, MS Query.

Se hai Excel 2016+ e fai questo: Dati > Ottieni dati > Da file > Da testo/CSV (o Dati > Da testo/CSV) allora stai usando PowerQuery.

Se hai Excel precedente al 2016 OPPURE fai questo: Dati > Ottieni dati > Procedura guidata legacy > Da testo (procedura guidata legacy) allora stai utilizzando MS Query.

MS Query è più semplice e veloce per query semplici, sia per creare la query che per aggiornarla. PowerQuery è molto più potente, ma ha una curva di apprendimento. Può essere più sensibile alle modifiche nei dati di input. Condivideremo altri contenuti su questa differenza. Ti mostreremo come fare la stessa cosa in ognuno e anche alcuni esempi di ciò che PowerQuery può fare e MS Query non può. PowerQuery può sostituire alcune tabelle di calcolo (ad esempio, tabelle esplosive) e rendere lo sviluppo più veloce.

Il motivo principale per cui abbiamo utilizzato MS Query è che alcune versioni di Excel (prima del 2016) non hanno PowerQuery incluso, quindi mostriamo lo stesso metodo che tutti possono utilizzare. Tuttavia, sta diventando più popolare e la percentuale di utenti che hanno vecchie versioni di Excel senza PowerQuery sta diventando sempre più piccola. Nel frattempo, ci sono sempre più vantaggi nell’utilizzare PowerQuery, l’attuale metodo di query.

Figurea5

Ci sono alcune differenze nel funzionamento di PowerQuery e abbiamo fatto in modo che il modello lo supporti. Ci sono alcune piccole modifiche agli intervalli denominati nel foglio Query. Potresti non accorgertene e funzionerà come prima.

La modifica principale è che la funzione “Update Text File Locations” ora supporta le query di testo create in PowerQuery. Quindi, se vuoi passare a una nuova posizione file per i tuoi file di input e hai query di testo PowerQuery, funzionerà allo stesso modo. Assicurati di avere file pronti nella nuova posizione, uno per ogni foglio di query di testo. La funzione ti dirà cosa manca ma non apporterà la modifica finché tutto non sarà presente e corretto.

Cancella o lascia i dati nella query

C’è un nuovo parametro, PARA_Keep_Query_Data. Se è impostato su zero, ogni volta che viene eseguito il foglio di query, verrà prima eliminata la tabella delle query. In precedenza, la nuova query sovrascriveva semplicemente quella vecchia, quindi aveva lo stesso effetto. Ma se non c’è un file da aggiornare, nella vecchia versione i dati rimanevano nella cartella di lavoro. Potresti desiderarlo o meno. Ci sono buone ragioni per entrambe le opzioni, quindi ti diamo la scelta.

Ad esempio, sviluppo spesso strumenti da condividere come un singolo file Excel. Se l’utente ha accesso agli input, allora si aggiornerà, altrimenti deve ancora essere eseguito con qualcosa e i dati esistenti sono abbastanza buoni da mostrare un risultato. In questo caso, imposta PARA_Keep_Query_Data =1 e i vecchi dati rimarranno nella tabella delle query.

D’altro canto, a volte un file assente significa “nessun dato”. E i tuoi calcoli riconosceranno questa possibilità. In questo caso, imposta PARA_Keep_Query_Data =0 e avrai una tabella vuota.

Come utilizzare PowerShell dal Fast Excel Development Template

Esiste un modulo VBA chiamato PowerShellTools. Questa non è certamente una funzionalità senza codice, quindi potrebbe essere un argomento un po’ più avanzato. PowerShell è un programma a riga di comando. Si digitano istruzioni che seguono la sintassi del codice in un terminale. Per quelli di noi che sono cresciuti con il punta e clicca, questo è un modo molto diverso di interagire con un computer, ma ci facciamo un’idea che molte cose sono possibili con la riga di comando.

In sostanza, qualsiasi cosa tu voglia fare al di fuori dell’ambiente Office avrà bisogno dell’aiuto di un programma come PowerShell. I nostri altri metodi per farlo erano: .BAT (file batch), VB Script e metodi FSO, alcuni dei quali hanno un futuro incerto e sono descritti di seguito nella sezione sulla compatibilità.

L’innovazione chiave nel nuovo Fast Excel Development Template è una funzione altamente flessibile per eseguire qualsiasi codice PowerShell da VBA. Prendiamo un esempio pratico e descriverò i vecchi e i nuovi metodi e ti mostrerò come funzionavano e perché il metodo PowerShell è migliore.

Come sapete, abbiamo uno Stack Template. Ha un massimo di 4 tabelle. Quindi se ne servono di più, dovete impilare uno stack. Questo funziona, diciamo per un massimo di 16 tabelle. Quindi avete bisogno di uno stack di uno stack di uno stack…avete capito. Per >16 tabelle questo non è pratico. Inoltre, se il numero di file da impilare cambia sempre, non potete creare nuove query ogni volta che avete un nuovo file da aggiungere. Quindi, cerchiamo modi alternativi per impilare file o tabelle. Se avete molte tabelle da impilare, è probabile che siano identiche nella struttura (stesse intestazioni) e prodotte da un altro sistema come file di testo. Quindi, piuttosto che portare ogni file in un Query template e quindi creare più stack, possiamo farlo molto più velocemente.

Perché vorresti impilare un sacco di file di testo? Un’applicazione utile è la creazione di un archivio. Diciamo che vuoi conservare una cronologia dell’inventario. La maggior parte dei sistemi MRP non lo fa di serie. Ma può essere molto utile per l’analisi. Se esegui il tuo sistema di pianificazione Fast Excel ogni giorno, puoi esportare l’inventario disponibile come file di testo con un timbro data nel nome file e una terza colonna nella tabella. Esportalo in una cartella di archivio. Quindi, se impilassi tutti questi file insieme, avresti una cronologia dell’inventario giornaliero per ogni articolo. Ma avrai 365 file per ogni anno di distribuzione. Quindi abbiamo bisogno di un modo per impilare un elenco sempre crescente di file di testo in un singolo file.

Il vecchio modo di impilare i file di testo – File batch

Nella vecchia versione del modello, avevamo un modello chiamato StackFiles_Bat. Sarebbe utile se questo significasse che un piccolo mammifero volante venisse ad aiutarci con la manipolazione dei dati. Ma in realtà questo è un modello per un file .BAT o un file Batch. Quindi, hai fatto in modo che VBA copiasse questo codice, lo salvasse come file di testo con estensione .BAT e poi lo eseguisse in Windows usando un comando Shell in VBA, che lo eseguiva in CMD. Era una tecnica molto intelligente scoperta da Dave Williamson e funzionava molto bene. Super veloce (oltre 1000 file in pochi secondi).

Il problema con questo metodo, come molti altri problemi di compatibilità di seguito, è la sicurezza. Ai responsabili IT non piace che gli utenti eseguano cose come i file .BAT perché rappresentano un rischio per la sicurezza. C’è stata una recente vulnerabilità “BatBadBut” che evidenzia questo rischio. Quindi, puoi essere certo che qualsiasi metodo che si basa sui file BAT sta affrontando un futuro incerto e potrebbe già essere vietato per alcune policy amministrative.

Il nuovo modo di impilare i file di testo – PowerShell

Gli strumenti PowerShell sono in un modulo VBA chiamato: PowerShellTools. Nessuna sorpresa. Ci sono due funzioni: StackFiles e StackFilesTable. La prima è più vecchia, più veloce ma ripete le intestazioni nello stack. La seconda è più recente e leggermente più lenta (di qualche secondo in più per oltre 100 file) e ha un output più pulito con le uniche intestazioni in cima alla tabella di output e tutto ciò che sta sotto sono dati.

Ognuna di queste funzioni accetta una cartella, un tipo di file e un nome per il file di output. Impilerà tutto nella cartella che si adatta al tipo di file (CSV, txt) e produrrà un file nella cartella Dati o in un altro posto specificato. Un modo molto più pulito per impilare file di testo e rimane sul lato giusto delle buone pratiche di sicurezza è usare PowerShell.

Se si esaminasse il codice, ciascuna di queste funzioni utilizza un’altra funzione chiamata “PS_Execute”. Si tratta di un wrapper, il che significa che è possibile utilizzare VBA per “avvolgere” un blocco di codice PowerShell. “PS” sta per “PowerShell” e non per “Production Scheduling”.

La funzione StackFiles lo usa due volte con una riga di codice in ciascuna. In realtà, in totale 3 righe, poiché ne collega due con un carattere “|”. La funzione StackFilesTable lo usa due volte e distribuisce un totale di 6 righe. Non c’è limite e potresti usare questo PS_Execute per eseguire programmi complessi in PowerShell. In pratica, per programmi più lunghi e altre applicazioni potrebbe essere più facile creare un file .ps1. Ad esempio, se vuoi eseguire un sistema Fast Excel in modalità pilota automatico e averlo come attività pianificata, eseguire un file ps1 PowerShell da Microsoft Task Manager è il modo migliore.

Ma se si vogliono eseguire comandi PowerShell da VBA, la funzione PS_Execute è molto utile e gli StackFiles sono un buon esempio.

Altre funzioni di PowerShell

Esiste anche una funzione per copiare intere cartelle (CopyDirToDir) e il vecchio metodo usa FileSystemObject (discusso di seguito). E ListFiles che produce un elenco di file in una data posizione; il vecchio metodo usava anche .BAT.

Problemi di compatibilità risolti con il Template

VBScript

Visual Basic Scripting Edition (VB Script) è deprecato e il supporto verrà rimosso da Windows a partire da Windows 11.

Questo NON è lo stesso di Visual Basic for Applications (VBA). VBA continuerà a essere supportato nel prossimo futuro su tutte le versioni di Excel in esecuzione sul desktop (a differenza di Excel sul Web, dove non è mai stato supportato).

L’impatto sul Fast Excel Development Template da VB Script che va via è limitato. La dipendenza principale nei vecchi template è con qualcosa chiamato FileSystemObject (FSO). Abbiamo usato FSO per un piccolo numero di funzioni nelle versioni 4.3 e precedenti del template. Nella versione 4.4 questo è stato rimosso e stiamo lavorando con metodi più recenti per fare la stessa cosa. Se non significa molto allora puoi ignorarlo perché le funzioni ti danno lo stesso risultato, solo un metodo leggermente diverso.

Accesso al drive C (e a qualsiasi cartella o file dipendente dal nome utente)

Figura 6

Un altro nuovo parametro è PARA_User_Folder. È dinamico e dovrebbe aggiornarsi all’apertura del file. La cartella utente è la radice standard sia per Documenti che per OneDrive. C:\Users\\Documenti e C:\Users\\OneDrive –

Quindi, se i file di origine si trovano in una cartella con un percorso diverso per ogni utente, è possibile creare il percorso del file in modo che venga aggiornato quando il nuovo utente apre la cartella di lavoro.

Ad esempio, se il percorso di rete PARA_FilePath_Data_Netwk è una cartella OneDrive, l’indirizzo potrebbe essere simile a questo:
C:\Users\Kien Leong\OneDrive – PS\Planning\Data

Come puoi vedere, questo è specifico del mio account Windows.

Ora posso creare il percorso del file utilizzando l’intervallo denominato come bit dipendente dall’utente e una stringa per il resto, come si può vedere nella Figura 7.

Figura 7

Il nostro approccio standard per la cartella dati locale è quello di utilizzare la radice dell’unità C. Questo è esattamente perché è universale per tutti gli utenti Windows e la cartella documenti è dipendente dall’utente, solitamente C:\Users\\Documents.

Questo metodo presuppone l’accesso all’unità C. In Windows 11, a seconda della versione, del ruolo dell’account utente e delle impostazioni di sicurezza, ci sono più restrizioni sulla creazione di cartelle e file direttamente nell’unità C. Microsoft desidera mantenere gli utenti nella cartella utente.

Per prevenire questo inconveniente, è possibile utilizzare una tecnica simile con User_Folder per impostare dinamicamente il percorso file locale PARA_FilePath_Data_Local, utilizzando un metodo simile.

Attualmente, dovresti comunque usare la funzione “Update Text File Locations” per cambiare i percorsi dei file, ma non viene fatto automaticamente. ABBIAMO pensato di farlo, ma aggiunge molto più peso al modello, richiede che i file siano impostati e apre molte più domande per gli utenti principianti. Ma potresti aggiungerlo a una routine principale, o anche su Workbook_Open se sei sicuro di usarlo e sai che i file esisteranno in quella posizione.

CMD e File batch .BAT

Come descritto sopra, PowerShell elimina la necessità di usare CMD e .BAT. Queste funzioni non andranno da nessuna parte, ma ci sono problemi di sicurezza con esse e ha senso usare le best practice per lavorare con file e funzioni al di fuori dell’ambiente Office.

Come usare le nuove funzionalità nel Fast Excel Development Template v4.4

File di testo dello stack di PowerShell, senza intestazioni ripetute.

Esiste una funzione chiamata StackFiles dalla v4.3. Questa accetta un percorso file, un nome file e un tipo di file e impilerà tutti i file di testo in quella posizione e tipo, restituendo i risultati in un nuovo file di testo, denominato di conseguenza. Questo è uno stack grezzo, molto veloce con uno svantaggio: le intestazioni vengono ripetute. È ottimo per impilare più di 4 file e può funzionare su centinaia di file di testo in pochi secondi. Questo è rimasto invariato.

C’è una nuova funzione chiamata StackFilesTable con gli stessi argomenti dei parametri e fa la stessa cosa, tranne per il fatto che le intestazioni vengono rimosse per ogni file dopo il primo. È più lenta con un risultato più pulito.

Copia in blocco e converti file da una tabella

Una nuova funzione FileCopyFromTable consente di elencare un numero di file in varie posizioni di destinazione e di copiarli in blocco in varie altre posizioni. Converte tra questi formati: .txt, .csv, .xlsx, .xlsm, xlsb, xls.

L’input è un intervallo denominato che rappresenta una tabella a 2 colonne con il percorso completo del file e il nome del file da cui e verso cui si desidera copiare.

Rimuovere i nomi di fogli ridondanti nelle formule che fanno riferimento allo stesso foglio

Forse hai notato che in Excel, quando scrivi una formula che ha tutti gli intervalli sullo stesso foglio, gli intervalli della formula non hanno nomi di foglio al loro interno. Una volta che passi a un altro foglio, la formula includerà sempre “SheetName!A10” anche se l’intervallo è sullo stesso foglio. Ciò porta a formule inutilmente lunghe con confusione, soprattutto se i nomi dei fogli sono lunghi. Rende più difficili lo sviluppo e il debug con più rumore nella barra della formula.

Ora abbiamo una macro che pulisce tutto questo. “Remove_Redundant_SheetNames_In_Formulas” o Ctrl-Shift-L. Provalo su un foglio con formule lunghe e osserva la differenza.

Riepilogo e download

Come sempre, puoi scaricare il modello di sviluppo Excel veloce v4.4 su questa pagina. Pubblicheremo tutorial e altri contenuti, quindi assicurati di essere registrato e iscritto alla nostra mailing list per ricevere gli avvisi. Iscriviti qui.

Lascia un commento

Torna in alto