Note: The other languages of the website are Google-translated. Back to English
English English

Come inserire spazi prima delle lettere maiuscole in Excel?

Supponendo di avere un elenco di stringhe di testo che tutti gli spazi tra le parole vengono rimossi accidentalmente, in questo modo: Inseriscirighe vuote tra i dati, e ora vuoi aggiungere gli spazi prima di ogni lettera con lettere maiuscole per separare le parole come Inserisci righe vuote tra i dati. Come potresti aggiungere rapidamente spazi davanti alle lettere maiuscole invece di digitare gli spazi uno per uno in Excel?


Inserisci spazi prima delle lettere maiuscole con la funzione definita dall'utente

Sfortunatamente, non esiste un modo diretto per aggiungere spazi prima delle lettere maiuscole in Excel, ma puoi creare una funzione definita dall'utente per risolvere questa attività.

1. Attiva il tuo foglio di lavoro che contiene le stringhe di testo a cui vuoi aggiungere spazi.

2. Tieni premuto il ALT + F11 chiavi per aprire il Finestra di Microsoft Visual Basic, Applications Edition.

3. Clic inserire > Moduloe incolla il codice seguente nel file Finestra del modulo.

Codice VBA: inserisci spazi prima delle lettere maiuscole

Function AddSpaces(pValue As String) As String
'Update 20140723
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. Quindi salva e chiudi questo codice, torna al foglio di lavoro e inserisci questa formula = addspaces (A1) in una cella vuota oltre ai tuoi dati, vedi screenshot:
doc-aggiungi-spazi-prima-maiuscolo-1

5. Quindi trascina il quadratino di riempimento sull'intervallo in cui desideri contenere questa formula, otterrai gli spazi inseriti prima di ogni lettera maiuscola.
doc-aggiungi-spazi-prima-maiuscolo-1

Rimuovi facilmente gli spazi iniziali / finali / extra nelle celle

Kutools per Excel Rimuovi spazi L'utilità consente agli utenti di Excel di rimuovere facilmente tutto lo spazio iniziale, lo spazio finale, gli spazi extra o tutti gli spazi dalle celle selezionate rapidamente. Prova gratuita completa di 30 giorni!
annuncio rimuovi spazio 1

Inserisci spazi prima delle lettere maiuscole con codice VBA

Ecco un altro codice VBA che può farti un favore, per favore fai come segue:

1. Tieni premuto il ALT + F11 chiavi per aprire il Finestra di Microsoft Visual Basic, Applications Edition.

2. Clic inserire > Moduloe incolla il codice seguente nel file Finestra del modulo.

Codice VBA: inserisci spazi prima delle lettere maiuscole

Sub AddSpacesRange()
'Update 20140723
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. Quindi premere F5 chiave per eseguire questo codice, verrà visualizzata una finestra di messaggio per consentire di selezionare un intervallo di dati che si desidera utilizzare.
doc-aggiungi-spazi-prima-maiuscolo-1

4. E poi clicca OK per chiudere questa finestra di messaggio, gli spazi sono stati inseriti prima delle lettere maiuscole contemporaneamente, vedi screenshot:
doc-aggiungi-spazi-prima-maiuscolo-1


Inserisci lo spazio prima di ogni lettera maiuscola con Kutools per Excel

Kutools per Excel aggiungi testo L'utilità può aiutarti a bypassare le macro VBA e inserire facilmente lo spazio prima di ogni lettera maiuscola in Excel.

Kutools for Excel - Include più di 300 strumenti utili per Excel. 30 giorni di prova gratuita delle funzionalità complete, nessuna carta di credito richiesta! Prova gratuita ora!

1. Seleziona l'intervallo in cui inserire lo spazio prima delle lettere maiuscole e fai clic su Kutools > Testo > aggiungi testo. Vedi screenshot:

2. Nella finestra di dialogo Aggiungi testo di apertura, digita uno spazio nel file Testo casella, seleziona il file Aggiungi solo all'opzione e seleziona La prima lettera è maiuscola dal Aggiungi solo a menu `A tendina.

3. Clicca il Ok pulsante per inserire uno spazio prima di ogni lettera maiuscola come mostrato nella seguente schermata:
doc aggiunge spazi prima delle maiuscole 7

Kutools for Excel - Include più di 300 strumenti utili per Excel. 30 giorni di prova gratuita delle funzionalità complete, nessuna carta di credito richiesta! Get It Now

Note: Questo metodo aggiungerà anche spazio all'inizio delle celle se la prima lettera è maiuscola. Puoi candidarti Kutools > Testo > Rimuovi spazi per rimuovere tutti gli spazi iniziali dalle celle selezionate.


Articolo correlato:


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile distribuzione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • 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 della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce centinaia di clic del mouse ogni giorno!
fondo officetab
Commenti (9)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
ho bisogno di aiuto in excel voglio trovare maiuscolo in una cella. per esempio: Sagar Paul MBA 16:04 voglio che l'MBA sia evidenziato
Questo commento è stato fatto dal moderatore sul sito
Spero che tu possa vederlo e provarlo. Sub Test() Dim Rg As Range, xCell As Range Dim i As Long Dim xChar As String Set Rg = Application.Selection For Each xCell In Rg For i = 1 To xCell.Characters.Count xChar = xCell.Characters(i, 1 ).Text If Asc(xChar) > 64 And Asc(xChar) < 91 Then xCell.Characters(i, 1).Font.Color = vbRed End If Next Next End Sub
Questo commento è stato fatto dal moderatore sul sito
Ciao, il tuo codice funziona alla grande. Sai come adattare il codice 20140723 per lavorare su più fogli? Vorrei aggiungere spazi tra le lettere maiuscole nell'intera cartella di lavoro. Grazie!
Questo commento è stato fatto dal moderatore sul sito
Ciao

Innanzitutto grazie mille per il tuo esempio di codice e le spiegazioni. Funziona molto bene per il mio caso.

Ho solo 1 problema, alcune delle stringhe contengono parole come URL, che non dovrebbero essere separate.
Vedi un modo per escludere ad esempio "URL" dall'aggiunta di spazi?

Sarebbe molto bello se puoi aiutare. Ho già provato un po', ma non so come risolvere..


I migliori saluti
luca
Questo commento è stato fatto dal moderatore sul sito
Ciao,
Grazie per il tuo commento e consiglio. Ho inviato il tuo suggerimento al team di progetto Kutools, sono sicuro che lo miglioreranno presto.
Questo commento è stato fatto dal moderatore sul sito
Trovato una soluzione?
Questo commento è stato fatto dal moderatore sul sito
ciao voglio chiederti se hai trovato una soluzione per il tuo caso, se hai trovato una soluzione per favore forniscimelo
Questo commento è stato fatto dal moderatore sul sito
Questa funzione gestisce due problemi che la soluzione data non copre:
1. testo non inglese (con segni diacritici)
2. maiuscole successive che non devono avere spazi dopo di esse

` Funzione privata AddSpaces(sText As String)As String
' Inserisce uno spazio immediatamente prima di una lettera maiuscola, tranne quando i caratteri successivi sono in maiuscolo.
' Ultimo aggiornamento: 2022-07-04
'
Dim sRet As String, i As Integer, sChar As String, bPrevWasUCase As Boolean

sRet = Sinistra(sTesto, 1)
For i = 2 To Len(sTesto)
sCar = Mid(sText, i, 1)
Se sChar = UCase(sChar) e non bPrevWasUCase allora
sRet = sRet & " " & sCar
bPrevWasUCase = Vero
Altro
sRet = sRet e sCara
bPrevWasUCase = Falso
End If
Avanti

AddSpaces= sRet
Fine della funzione`
Questo commento è stato fatto dal moderatore sul sito
Ciao amico,

Grazie per la tua condivisione. Ho provato il tuo codice VBA, ma non funziona. Il nostro codice VBA può gestire il testo non inglese. Ho testato il testo francese e gli spazi sono stati inseriti correttamente prima delle lettere maiuscole.

Cordiali saluti,
Mandy
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite