Sommario
L'esercitazione vi insegnerà come rimuovere le colonne vuote in Excel con una macro, una formula e un pulsante.
Per quanto possa sembrare banale, l'eliminazione delle colonne vuote in Excel non è un'operazione che si può fare con un semplice clic del mouse e nemmeno con due clic. La prospettiva di esaminare tutte le colonne del foglio di lavoro e di rimuovere manualmente quelle vuote è sicuramente da evitare. Fortunatamente, Microsoft Excel offre un gran numero di funzioni diverse e l'utilizzo di questecon modi creativi è possibile affrontare quasi tutti i compiti!
Modo rapido per eliminare le colonne vuote che non si dovrebbero mai usare
Quando si tratta di rimuovere gli spazi vuoti in Excel (che si tratti di celle, righe o colonne vuote), molte risorse online si affidano alla funzione Vai a Speciale > Pezzi grezzi comando. Non farlo mai nei vostri fogli di lavoro!
Questo metodo ( F5 > Speciale... > Pezzi grezzi ) trova e seleziona tutte le celle vuote nell'intervallo:
Se ora si fa clic con il tasto destro del mouse sulle celle selezionate e si sceglie Cancellare > Intera colonna , tutte le colonne che contengono almeno una cella vuota Se lo avete fatto inavvertitamente, premete Ctrl + Z per recuperare tutto.
Ora che conoscete il modo sbagliato di eliminare le colonne vuote in Excel, vediamo come farlo nel modo giusto.
Come rimuovere le colonne vuote in Excel con VBA
Gli utenti esperti di Excel conoscono questa regola: per non perdere ore a fare qualcosa manualmente, investite qualche minuto nella scrittura di una macro che lo faccia automaticamente.
La seguente macro VBA rimuove tutte le colonne vuote nell'intervallo selezionato, in modo sicuro: vengono eliminate solo le colonne assolutamente vuote. Se una colonna contiene un valore di una singola cella, anche una stringa vuota restituita da una formula, tale colonna rimarrà intatta.
Macro di Excel: rimuovere le colonne vuote dal foglio Excel Public Sub DeleteEmptyColumns() Dim SourceRange As Range Dim EntireColumn As Range On Error Resume Next Set SourceRange = Application.InputBox( _ "Select a range:" , "Delete Empty Columns" , _ Application.Selection.Address, Type :=8) If Not (SourceRange Is Nothing ) Then Application.ScreenUpdating = False For i = SourceRange.Columns.Count To 1Passo -1 Set InteraColonna = SourceRange.Cells(1, i).InteraColonna Se Application.WorksheetFunction.CountA(InteraColonna) = 0 Allora InteraColonna.Delete Fine Se Prossimo Application.ScreenUpdating = Vero Fine Se Fine SubCome utilizzare la macro Elimina colonne vuote
Ecco i passaggi per aggiungere la macro a Excel:
- Premere Alt + F11 per aprire l'editor di Visual Basic.
- Nella barra dei menu, fare clic su Inserire > Modulo .
- Incollare il codice precedente nella finestra Codice.
- Premere F5 per eseguire la macro.
- Quando appare la finestra di dialogo a comparsa, passare al foglio di lavoro di interesse, selezionare l'intervallo desiderato e fare clic su OK:
Se non si desidera aggiungere una macro al foglio di lavoro, è possibile eseguirla dalla cartella di lavoro di esempio. Ecco come fare:
- Scaricate la nostra cartella di lavoro di esempio per Rimuovere le colonne vuote in Excel, apritela e abilitate il contenuto se richiesto.
- Aprire la propria cartella di lavoro o passare a quella già aperta.
- Nella cartella di lavoro, premere Alt + F8 , selezionare la voce EliminaColonneVuote e fare clic su Correre .
- Nella finestra di dialogo a comparsa, selezionare l'intervallo e fare clic su OK .
In ogni caso, tutte le colonne vuote dell'intervallo selezionato verranno eliminate:
Identificare ed eliminare le colonne vuote in Excel con una formula
La macro precedente rimuove le colonne vuote in modo rapido e silenzioso, ma se siete tipi da "tenere tutto sotto controllo" (come me :) potreste voler vedere visivamente le colonne che verranno rimosse. In questo esempio, identificheremo prima le colonne vuote utilizzando una formula, in modo da poterle esaminare rapidamente e quindi eliminare tutte o alcune di esse.
Nota: prima di cancellare qualcosa in modo permanente, soprattutto utilizzando una tecnica sconosciuta, vi consiglio vivamente di fare un copia di backup della cartella di lavoro, per essere sicuri che qualcosa vada storto.
Con una copia di backup in un luogo sicuro, eseguire le seguenti operazioni:
Passo 1. Inserire una nuova riga
Aggiungere una nuova riga all'inizio della tabella, facendo clic con il tasto destro del mouse sull'intestazione della prima riga e facendo clic su Inserire Non preoccupatevi di modificare la struttura e la disposizione dei dati: potete eliminare questa riga in un secondo momento.
Passo 2. Identificare le colonne vuote
Nella cella più a sinistra della nuova riga aggiunta, inserite la seguente formula:
=COUNTA(A2:A1048576)=0
Quindi, copiare la formula nelle altre colonne trascinando la maniglia di riempimento.
La logica della formula è molto semplice: COUNTA controlla il numero di celle vuote nella colonna, dalla riga 2 alla riga 1048576, che è il massimo della riga in Excel 2019 - 2007. Si confronta questo numero con zero e, come risultato, si ha VERO nelle colonne vuote e FALSO nelle colonne che contengono almeno una cella non vuota. Grazie all'uso dei riferimenti relativi alle celle, la formula si regola correttamente per ogni colonnadove viene copiato.
Se state impostando il foglio di lavoro per qualcun altro, potreste voler etichettare le colonne in modo più significativo. Nessun problema, questo può essere fatto facilmente con un'istruzione IF simile a questa:
=IF(COUNTA(A2:A1048576)=0, "Vuoto", "Non vuoto")
Ora la formula indica esplicitamente quali colonne sono vuote e quali no:
Suggerimento: rispetto a una macro, questo metodo offre una maggiore flessibilità per quanto riguarda le colonne da considerare vuote. In questo esempio, controlliamo l'intera tabella, compresa la riga di intestazione. Ciò significa che se una colonna contiene solo un'intestazione, tale colonna non viene considerata vuota e non viene eliminata. Se si desidera controllare solo le righe di dati ignorando le intestazioni delle colonne rimuove le righe di intestazione dall'intervallo di destinazione (A3:A1048576). Di conseguenza, una colonna con un'intestazione e nessun altro dato sarà considerata vuota e soggetta a eliminazione. Inoltre, è possibile limitare l'intervallo all'ultima riga utilizzata, che nel nostro caso sarebbe A11.
Passo 3. Rimuovere le colonne vuote
Avendo un numero ragionevole di colonne, è possibile selezionare semplicemente quelle che hanno "Blank" nella prima riga (per selezionare più colonne, tenere premuto il tasto Ctrl mentre si fa clic sulle lettere delle colonne). Quindi, fare clic con il pulsante destro del mouse su una colonna selezionata e scegliere Cancellare dal menu contestuale:
Se nel foglio di lavoro sono presenti decine o centinaia di colonne, è opportuno visualizzare tutte quelle vuote. A tale scopo, procedete come segue:
- Selezionare la riga superiore con le formule, andare alla voce Dati scheda> Ordinamento e filtro e fare clic sul pulsante Ordinamento pulsante.
- Nella finestra di dialogo di avviso visualizzata, selezionare Espandere la selezione e fare clic su Ordinamento...
- In questo modo si aprirà la finestra Ordinamento nella quale si fa clic sul pulsante Opzioni... selezionare il tasto Da sinistra a destra, e fare clic su OK .
- Configurare un solo livello di ordinamento come mostrato di seguito e fare clic su OK:
- Ordina per: riga 1
- Ordinamento in base a: valori delle celle
- Ordine: dalla A alla Z
Di conseguenza, le colonne vuote verranno spostate nella parte sinistra del foglio di lavoro:
- Selezionare tutte le colonne vuote: fare clic sulla prima lettera della colonna, premere Maiusc e quindi fare clic sulla lettera dell'ultima colonna vuota.
- Fare clic con il tasto destro del mouse sulle colonne selezionate e scegliere Cancellare dal menu a comparsa.
Le colonne vuote sono state eliminate e nulla impedisce di eliminare la riga superiore con le formule.
Il modo più veloce per rimuovere le colonne vuote in Excel
All'inizio di questa guida ho scritto che non esiste un modo per eliminare le colonne vuote in Excel con un solo clic. In realtà, questo non è esattamente vero. Avrei dovuto dire che non esiste un modo integrato. Gli utenti della nostra Ultimate Suite possono rimuovere gli spazi vuoti in Excel letteralmente in un paio di clic:)
Nel foglio di lavoro di destinazione, passare alla voce Strumenti Ablebits fare clic su Cancellare gli spazi vuoti e scegliere Colonne vuote :
Per assicurarsi che non si sia trattato di un clic accidentale del mouse, il componente aggiuntivo chiederà di confermare che si desidera davvero rimuovere le colonne vuote da quel foglio di lavoro:
Cliccare OK e in un attimo tutte le colonne vuote sono sparite!
Come la macro discussa in precedenza, questo strumento elimina solo le colonne che sono assolutamente vuoto Le colonne che hanno un singolo valore, comprese le intestazioni, vengono conservate.
Cancellare gli spazi vuoti Per saperne di più, potete scaricare una versione di prova della nostra Ultimate Suite for Excel.
Le colonne vuote non vengono eliminate! Perché?
Problema Avete provato tutti i metodi sopra descritti, ma una o più colonne vuote sono bloccate nel vostro foglio di lavoro. Perché?
Molto probabilmente perché quelle colonne non sono realmente vuote. Molti caratteri diversi, invisibili all'occhio umano, possono nascondersi inosservati nei vostri fogli di calcolo Excel, soprattutto se avete importato informazioni da una fonte esterna. Può trattarsi di una semplice stringa vuota o di un carattere di spazio, di uno spazio non spezzato o di un altro carattere non stampabile.
Per individuare il colpevole, selezionare la prima cella della colonna problematica e premere Ctrl + freccia giù. Ad esempio, la colonna C nella schermata seguente non è vuota a causa di un singolo carattere di spazio in C6:
Fate doppio clic sulla cella per vedere cosa c'è effettivamente o premete semplicemente il tasto Canc per eliminare il contenuto sconosciuto. Ripetete quindi il processo sopra descritto per scoprire se ci sono altri elementi invisibili in quella colonna. Potreste anche voler pulire i vostri dati eliminando gli spazi iniziali, finali e non.
Vi ringrazio per la lettura e spero di vedervi sul nostro blog la prossima settimana!