Come inserire spazi prima delle lettere maiuscole in Excel?
Formattare correttamente i dati in Excel è fondamentale per garantire chiarezza e facilità di analisi, soprattutto quando si lavora con stringhe di testo importate o concatenate che risultano poco leggibili. Un caso frequente è rappresentato da testi in cui le parole sono unite senza spazi, come ad esempio «DataFormattingTool», rendendone difficoltosa la lettura o l’elaborazione. Inserire uno spazio prima di ogni lettera maiuscola permette di separare efficacemente le parole, rendendo i fogli di calcolo più intuitivi e professionali, sia per l’interpretazione dei dati sia per la condivisione. Questa guida ti mostra diversi metodi pratici per aggiungere rapidamente spazi prima di ogni lettera maiuscola in Excel, assicurando che i tuoi dati restino sempre organizzati e facilmente gestibili in qualsiasi scenario.

Inserire spazi prima di ogni lettera maiuscola in Excel
Inserire spazi prima di ogni lettera maiuscola con una formula (Excel 2019 e versioni successive)
L’utilizzo di formule di Excel rappresenta un metodo semplice e affidabile per inserire spazi prima delle lettere maiuscole. Questo approccio non richiede competenze di programmazione né strumenti esterni ed è ideale per chi desidera automatizzare il processo sfruttando le funzioni integrate di Excel. La soluzione qui proposta utilizza le moderne funzioni dinamiche per matrici e la manipolazione del testo disponibili in Excel 2019, Excel 2021 e Microsoft 365.
Scenario applicabile: Ideale per chi utilizza versioni aggiornate di Excel e cerca una soluzione rapida basata su formule, senza ricorrere a VBA o componenti aggiuntivi. Questo metodo si aggiorna automaticamente non appena le celle vengono modificate o vengono inseriti nuovi dati, ma potrebbe non essere compatibile con versioni precedenti di Excel.
Per implementarlo, segui questi passaggi:
1. Copia e incolla la seguente formula in una cella vuota (ad esempio, la cella B2 se il tuo testo originale si trova nella cella A2), quindi premi Invio per ottenere il primo risultato in Excel 365 o 2021. In Excel 2019, usa Ctrl+Maiusc+Invio per applicarla come formula matriciale:
=TRIM(LEFT(A2,1) & TEXTJOIN("", TRUE, IF(CODE(MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1))>=65, IF(CODE(MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1))<=90, " "&MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1), MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1)), MID(A2, ROW(INDIRECT("2:" & LEN(A2))), 1))))
2. Dopo aver ottenuto il primo risultato, trascina il quadratino di riempimento verso il basso per applicare la formula alle altre righe secondo necessità. L’output mostrerà il tuo Testo Originale con spazi inseriti prima di ogni lettera maiuscola.

- SINISTRA(A2;1): Restituisce il primo carattere della stringa invariato, evitando uno spazio superfluo all'inizio.
- INDIRETTO("2:" & LUNGHEZZA(A2)): Genera una sequenza che fa riferimento a ogni carattere successivo in base alla sua posizione, dal secondo carattere fino all’ultimo.
- STRINGA.ESTRAI(A2; RIF.RIGA(...);1): Estrae un carattere alla volta in base alla posizione.
- CODICE(...): Valuta ciascun carattere estratto per verificarne il valore ASCII; i valori compresi tra 65 e 90 corrispondono alle lettere maiuscole dell'alfabeto inglese (A-Z).
- TESTO.UNISCI(«»; VERO; ...): Concatena ogni carattere, inserendo uno spazio prima di quelli riconosciuti come lettere maiuscole, e ignora eventuali testi vuoti quando è specificato VERO.
- ANNULLA.SPAZI(...): Rimuove gli spazi iniziali e finali che potrebbero essere stati aggiunti durante l'elaborazione.
Nota: Possono verificarsi errori se la cella originale è vuota o contiene valori non testuali. Assicurati che i tuoi dati siano formattati come testo per ottenere risultati ottimali. Durante il trascinamento della formula, controlla che i riferimenti di cella siano corretti e aggiornali se i tuoi dati partono da una riga o colonna diversa.
Inserire spazi prima di ogni lettera maiuscola con Kutools per Excel
«Kutools per Excel» offre un metodo estremamente efficiente per inserire uno spazio prima di ogni lettera maiuscola nell’intero intervallo Seleziona Dati. La sua funzione integrata «Aggiungi testo» semplifica l’operazione, fornendo un’alternativa pratica per chi desidera completare il compito in pochi clic, senza dover ricordare formule complesse o ricorrere al codice.
Scenario applicabile: Questa soluzione è perfetta per chi elabora frequentemente grandi quantità di dati, preferisce un'interfaccia grafica o non si sente a proprio agio con formule e codice. Offre operazioni rapide su larga scala e riduce il rischio di errori legati alle formule. L’unico requisito è che Kutools per Excel sia installato.
1. Seleziona l’intervallo di celle in cui desideri aggiungere spazi prima delle lettere maiuscole, quindi vai al menu «Kutools» > «Testo» > «Aggiungi testo». Si aprirà la finestra delle opzioni pertinenti.
2. Nella finestra di dialogo «Aggiungi testo», inserisci uno spazio nella casella «Testo». Attiva quindi l’opzione «Aggiungi solo a» e seleziona «Prima delle lettere maiuscole» dal menu a discesa.
3. Fai clic su «OK» per applicare le modifiche. Ogni lettera maiuscola nella selezione avrà uno spazio inserito prima di essa, come mostrato di seguito:
Precauzioni:
- Controlla attentamente la selezione, poiché questa operazione viene applicata direttamente ai tuoi dati. Ti consigliamo di creare sempre un backup prima di utilizzare funzionalità di modifica batch.
- Questa funzione distingue tra maiuscole e minuscole e agisce esclusivamente sulle lettere maiuscole (A-Z).
Inserire spazi prima di ogni lettera maiuscola con una funzione definita dall'utente
Per chi cerca maggiore flessibilità o una soluzione riutilizzabile per un’elaborazione personalizzata, creare una funzione definita dall’utente (UDF) in VBA permette di applicare una logica precisa per inserire spazi prima delle lettere maiuscole. Questo approccio mantiene il foglio di calcolo dinamico, poiché la funzione si comporta esattamente come qualsiasi altra formula di Excel e si aggiorna automaticamente.
Vantaggi: Offre piena personalizzazione e può essere riutilizzata in diverse cartelle di lavoro semplicemente copiando il codice.
Svantaggi: Richiede una conoscenza di base dell’editor VBA. Le formule basate su UDF potrebbero non funzionare in tutti gli ambienti Excel, in particolare su Excel Online o in presenza di restrizioni relative alle macro.
1. Apri il foglio di lavoro che contiene le stringhe di testo da elaborare.
2. Premi ALT + F11 per aprire l'editor Microsoft Visual Basic, Applications Edition (VBA).
3. Nell'editor VBA, clicca su «Inserisci» > «Modulo», quindi copia e incolla il codice seguente nella nuova finestra del modulo.
Codice VBA: Inserire spazi prima delle lettere maiuscole
Function AddSpaces(pValue As String) As String
'Updateby Extendoffice
Dim xOut As String
xOut = VBA.Left(pValue, 1)
For i = 2 To VBA.Len(pValue)
xAsc = VBA.Asc(VBA.Mid(pValue, i, 1))
If xAsc >= 65 And xAsc <= 90 Then
xOut = xOut & " " & VBA.Mid(pValue, i, 1)
Else
xOut = xOut & VBA.Mid(pValue, i, 1)
End If
Next
AddSpaces = xOut
End Function
4. Salva il progetto e chiudi l'editor VBA. Torna al foglio di lavoro. In una cella vuota adiacente ai tuoi dati (ad esempio, B2 se i dati si trovano in A2), inserisci la seguente formula e premi Invio:
=addspaces(A2) Trascina il quadratino di riempimento della cella verso il basso per applicare la formula UDF a tutto l’elenco: ogni stringa di testo mostrerà automaticamente gli spazi inseriti prima di ciascuna lettera maiuscola, esattamente come previsto.

Suggerimenti e risoluzione problemi:
- Per mantenere la funzione definita dall'utente disponibile anche dopo aver riaperto il file, salva la cartella di lavoro come file abilitato alle macro (*.xlsm o *.xlsb).
- Le modifiche ai dati di testo aggiorneranno automaticamente l'output della funzione definita dall'utente.
- Le funzioni definite dall'utente non sono supportate in Excel Online né in ambienti con restrizioni relative alle macro.
Inserire spazi prima di ogni lettera maiuscola con codice VBA
Se preferisci una soluzione in grado di elaborare contemporaneamente un ampio intervallo di dati e apportare modifiche permanenti direttamente al foglio di lavoro, l'utilizzo di una macro VBA rappresenta un'ottima opzione. Questo metodo è ideale per utenti avanzati o per attività di pulizia una tantum, poiché modifica direttamente le celle selezionate.
Vantaggi: Elabora in modo efficiente grandi set di dati, non richiede l'inserimento di formule nelle celle e offre un controllo ancora più preciso su quali celle elaborare.
Considerazioni: Poiché questo metodo modifica direttamente i tuoi dati, crea sempre un backup prima di eseguire la macro. Le macro potrebbero essere disabilitate per impostazione predefinita in alcune cartelle di lavoro per motivi di sicurezza: abilitalle se necessario per procedere.
1. Premi ALT + F11 per aprire la finestra «Microsoft Visual Basic, Applications Edition».
2. Fai clic su «Inserisci» > «Modulo» e copia il codice seguente nella finestra del modulo:
Codice VBA: Inserire spazi prima delle lettere maiuscole
Sub AddSpacesRange()
'Updateby Extendoffice
Dim Rng As Range
Dim WorkRng As Range
Dim xOut As String
Dim xValue As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
For Each Rng In WorkRng
xValue = Rng.Value
xOut = VBA.Left(xValue, 1)
For i = 2 To VBA.Len(xValue)
xAsc = VBA.Asc(VBA.Mid(xValue, i, 1))
If xAsc >= 65 And xAsc <= 90 Then
xOut = xOut & " " & VBA.Mid(xValue, i, 1)
Else
xOut = xOut & VBA.Mid(xValue, i, 1)
End If
Next
Rng.Value = xOut
Next
Application.ScreenUpdating = True
End Sub 3. Premi il tasto «F5» o fai clic sul pulsante «Esegui» per avviare la macro. Si aprirà una finestra di dialogo che ti chiederà di selezionare l’intervallo da modificare.
4. Dopo aver selezionato l'intervallo e aver fatto clic su «OK», la macro inserirà immediatamente uno spazio prima di ogni lettera maiuscola nelle celle selezionate.
Note per la risoluzione dei problemi:
- Se la macro sembra non fare nulla, assicurati di aver selezionato l’intervallo desiderato e di aver abilitato le macro nelle impostazioni di Excel.
- Questa operazione non può essere annullata una volta eseguita. Utilizza un backup se non sei sicuro.
- La macro è ottimizzata per le lettere maiuscole dell'alfabeto inglese (A-Z); con caratteri non standard o alfabeti localizzati, i risultati potrebbero variare.
Indipendentemente dal metodo scelto, inserire uno spazio prima di ogni lettera maiuscola in Excel migliorerà notevolmente la leggibilità delle stringhe. Ogni approccio si adatta a scenari specifici: le formule per i calcoli dinamici, Kutools per un’automazione intuitiva, le UDF per il riutilizzo e il codice VBA per operazioni massicce avanzate. Prima di applicare qualsiasi tecnica su larga scala, verifica attentamente i dati e conserva sempre un backup dei valori originali per evitare perdite accidentali durante l’elaborazione. In caso di errori, rivedi passo dopo passo la procedura e assicurati che la versione di Excel in uso supporti le funzioni o il codice utilizzati. Per ulteriori strategie e suggerimenti pratici su Excel,esplora la nostra ampia raccolta di tutorial.
Articolo correlato:
Come aggiungere automaticamente uno spazio dopo ogni virgola in Excel?
Migliori Strumenti per la Produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
- Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
- Funziona meglio insieme— produttività ottimizzata tra le app di Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi