Salt la conținutul principal

Cum se inserează spații înainte de majuscule în Excel?

Presupunând că aveți o listă de șiruri de text, care toate spațiile dintre cuvinte sunt eliminate accidental, astfel: InsertBlankRowsBetweenData, iar acum doriți să adăugați spațiile dinaintea fiecărei litere cu litere mari pentru a separa cuvintele ca Introduceți rânduri goale între date. Cum ați putea adăuga rapid spații în fața literelor majuscule în loc să tastați spații unul câte unul în Excel?


Introduceți spații înainte de litere mari cu funcția definită de utilizator

Din păcate, nu există o modalitate directă de a adăuga spații înainte de literele majuscule în Excel, dar puteți crea funcția definită de utilizator pentru a rezolva această sarcină.

1. Activați foaia de lucru care conține șirurile de text pe care doriți să le adăugați spații.

2. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Fereastra Microsoft Visual Basic pentru aplicații.

3. Clic Insera > Moduleși lipiți următorul cod în Fereastra modulului.

Cod VBA: introduceți spații înainte de majuscule

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. Apoi salvați și închideți acest cod, reveniți la foaia de lucru și introduceți această formulă = adăugați spații (A1) într-o celulă goală pe lângă datele dvs., consultați captura de ecran:
doc-add-spaces-before-majuscule-1

5. Și apoi trageți mânerul de umplere peste intervalul pe care doriți să îl conțineți cu această formulă, veți obține spațiile inserate înaintea fiecărei litere majuscule.
doc-add-spaces-before-majuscule-1

Îndepărtați cu ușurință spațiile principale / finale / suplimentare din celule

Kutools pentru Excel Eliminați spațiile utilitarul permite utilizatorilor Excel să elimine cu ușurință rapid tot spațiul principal, spațiul final, spațiile suplimentare sau toate spațiile din celulele selectate.


anunțul elimină spațiul 1

Introduceți spații înainte de majuscule cu cod VBA

Iată un alt cod VBA care vă poate face o favoare, vă rugăm să faceți următoarele:

1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Fereastra Microsoft Visual Basic pentru aplicații.

2. Clic Insera > Moduleși lipiți următorul cod în Fereastra modulului.

Cod VBA: introduceți spații înainte de majuscule

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. Apoi apăsați F5 pentru a executa acest cod, va apărea o casetă de prompt pentru a vă permite să selectați un interval de date pe care doriți să îl utilizați.
doc-add-spaces-before-majuscule-1

4. Apoi faceți clic pe OK pentru a închide această casetă de prompt, spațiile au fost inserate înaintea literelor majuscule simultan, vezi captura de ecran:
doc-add-spaces-before-majuscule-1


Introduceți spațiu înaintea fiecărei litere mari cu Kutools pentru Excel

Kutools pentru Excel Adăuga text utilitarul vă poate ajuta să ocoliți macrocomenzile VBA și să inserați cu ușurință spațiu înainte de fiecare literă mare în Excel.

Kutools pentru Excel - Dotat cu peste 300 de instrumente esențiale pentru Excel. Bucurați-vă de o încercare GRATUITĂ completă de 30 de zile, fără card de credit necesar! Descarcă acum!

1. Selectați intervalul în care veți insera spațiu înainte de majuscule și faceți clic pe Kutools > Text > Adăuga text. Vedeți captura de ecran:

2. În caseta de dialog Adăugare text de deschidere, tastați un spațiu în Text , bifați caseta Adăugați numai la opțiune și selectați Prima literă este cu majuscule de la Adăugați numai la lista verticală.

3. clic pe Ok butonul pentru a insera spațiu înaintea fiecărei litere mari, după cum se arată în următoarea captură de ecran:
doc adăugați spații înainte de majuscule 7

Kutools pentru Excel - Supercharge Excel cu peste 300 de instrumente esențiale. Bucurați-vă de o încercare GRATUITĂ completă de 30 de zile, fără card de credit necesar! Ia-L Acum

notițe: Această metodă va adăuga spațiu și la începutul celulelor dacă prima literă este cu majuscule. Puteți aplica Kutools > Text > Eliminați spațiile pentru a elimina toate spațiile principale din celulele selectate.


Articol asociat:

Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

Descriere


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
Comments (9)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This function handles two problems that the given solution doesn't cover:
1. non-English text (with diacritical marks)
2. successive capitals that should not have spaces after them

` Private Function AddSpaces(sText As String)As String
' Inserts a space immediately before a capital letter, except when successive characters are each capitalized.
' Last Updated: 2022-07-04
'
Dim sRet As String, i As Integer, sChar As String, bPrevWasUCase As Boolean

sRet = Left(sText, 1)
For i = 2 To Len(sText)
sChar = Mid(sText, i, 1)
If sChar = UCase(sChar) And Not bPrevWasUCase Then
sRet = sRet & " " & sChar
bPrevWasUCase = True
Else
sRet = sRet & sChar
bPrevWasUCase = False
End If
Next i

AddSpaces= sRet
End Function`
This comment was minimized by the moderator on the site
Hello friend,

Thanks for your share. I tried your VBA code, but it doesn't work. Our VBA code can handle the non-english text. I have test the french text and spaces are successfully inserted before the capital letters.

Sincerely,
Mandy
This comment was minimized by the moderator on the site
Hello

First thanks a lot for your code example and the explanations. It works very well for my case.

I just have 1 Problem, some of the Strings contain words like URL, which should not be seperated.
Do you see a way to except for example "URL" from adding spaces?

Would be very nice if you can help. I tried already a while, but i dont know how to solve this..


Best regards
luca
This comment was minimized by the moderator on the site
hi wanna ask you if you found solution for you case, if you found solution please provide me with that
This comment was minimized by the moderator on the site
Hi,
Thanks for your comment and advice. I have sent your suggestion to the Kutools project team, I’m sure they’ll improve it soon.
This comment was minimized by the moderator on the site
Found a solution?
This comment was minimized by the moderator on the site
Hi there, your code works fantastic. Do you know how to adapt code 20140723 to work on multiple sheets? I would like to add spaces between capital letters throughout the entire workbook. Thanks!
This comment was minimized by the moderator on the site
i need a help in excel i want to find Uppercase in a cell. for example: Sagar Paul MBA 16:04 i want MBA to be highlighted
This comment was minimized by the moderator on the site
I hope you can see it and give it a trial. 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
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations