Hoppa till huvudinnehåll

Hur infogar du mellanslag före versaler i Excel?

Om du antar att du har en lista med textsträngar där alla mellanslag mellan orden tas bort av misstag, så här: Infoga tomma rader mellan data, och nu vill du lägga till mellanslag före varje bokstav med stora bokstäver för att separera orden som Infoga tomma rader mellan data. Hur kan du lägga till mellanslag framför stora bokstäver snabbt istället för att skriva mellanslag en efter en i Excel?


Infoga mellanslag före versaler med användardefinierad funktion

Tyvärr finns det inget direkt sätt för dig att lägga till mellanslag före versaler i Excel, men du kan skapa användardefinierad funktion för att lösa denna uppgift.

1. Aktivera ditt kalkylblad som innehåller textsträngarna du vill lägga till mellanslag.

2. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic for Applications-fönstret.

3. Klicka Insert > Modulernaoch klistra in följande kod i Modulfönster.

VBA-kod: Infoga mellanslag före versaler

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. Spara och stäng sedan den här koden, gå tillbaka till kalkylbladet och ange den här formeln = tilläggsutrymmen (A1) i en tom cell förutom dina data, se skärmdump:
doc-add-mellanslag-före-versaler-1

5. Och dra sedan fyllningshandtaget över det intervall som du vill innehålla denna formel, du får blanksteg infogas före varje stor bokstav.
doc-add-mellanslag-före-versaler-1

Ta enkelt bort ledande / efterföljande / extra utrymmen i celler

Kutools för Excel Ta bort utrymmen verktyget gör det möjligt för Excel-användare att snabbt ta bort allt ledande utrymme, efterföljande utrymme, extra mellanslag eller alla mellanslag från valda celler.


annons ta bort utrymme 1

Infoga mellanslag före versaler med VBA-kod

Här är en annan VBA-kod som kan göra dig en tjänst, gör så här:

1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic for Applications-fönstret.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulfönster.

VBA-kod: Infoga mellanslag före versaler

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. Tryck sedan på F5 för att köra den här koden, kommer en snabbruta att dyka upp för att låta dig välja ett dataområde som du vill använda.
doc-add-mellanslag-före-versaler-1

4. Och klicka sedan på OK för att stänga denna snabbruta har mellanslag införts framför stora bokstäver på en gång, se skärmdump:
doc-add-mellanslag-före-versaler-1


Infoga mellanslag före varje versaler med Kutools för Excel

Kutools för Excel lägga till text verktyget kan hjälpa dig att kringgå VBA-makron och infoga utrymme före alla stora bokstäver enkelt i Excel.

Kutools för Excel - Fullpackad med över 300 viktiga verktyg för Excel. Njut av en fullfjädrad 30-dagars GRATIS provperiod utan behov av kreditkort! Ladda ner nu!

1. Välj det område där du ska infoga mellanslag före versaler och klicka på Kutools > text > lägga till text. Se skärmdump:

2. Skriv in ett mellanslag i dialogrutan Öppna Lägg till text text kryssa i rutan Lägg bara till alternativet och välj Första bokstaven är stor från Lägg bara till listrutan.

3. Klicka på Ok knapp för att infoga mellanslag före varje stora bokstäver som följande skärmdump visas:
doc lägg till mellanslag före versaler 7

Kutools för Excel - Superladda Excel med över 300 viktiga verktyg. Njut av en fullfjädrad 30-dagars GRATIS provperiod utan behov av kreditkort! Hämta den nu

Anmärkningar: Den här metoden lägger också till utrymme i början av celler om den första bokstaven är stor. Du kan ansöka Kutools > text > Ta bort utrymmen för att ta bort alla ledande mellanslag från markerade celler.


Relaterad artikel:

Bästa kontorsproduktivitetsverktyg

🤖 Kutools AI Aide: Revolutionera dataanalys baserat på: Intelligent utförande   |  Generera kod  |  Skapa anpassade formler  |  Analysera data och generera diagram  |  Anropa Kutools funktioner.
Populära funktioner: Hitta, markera eller identifiera dubbletter   |  Ta bort tomma rader   |  Kombinera kolumner eller celler utan att förlora data   |   Rund utan formel ...
Superuppslag: Flera kriterier VLookup    VLookup med flera värden  |   VSök över flera ark   |   Fuzzy Lookup ....
Avancerad rullgardinslista: Skapa snabbt en rullgardinslista   |  Beroende rullgardinslista   |  Flervals-rullgardinslista ....
Kolumnhanterare: Lägg till ett specifikt antal kolumner  |  Flytta kolumner  |  Växla synlighetsstatus för dolda kolumner  |  Jämför intervall och kolumner ...
Utvalda funktioner: Rutnätsfokus   |  Designvy   |   Stor formelbar    Arbetsbok & Bladhanterare   |  Resursbibliotek (Automatisk text)   |  Datumväljare   |  Kombinera arbetsblad   |  Kryptera/Dekryptera celler    Skicka e-postmeddelanden efter lista   |  Superfilter   |   Specialfilter (filtrera fet/kursiv/genomstruken...) ...
Topp 15 verktygssatser12 text verktyg (lägga till text, Ta bort tecken, ...)   |   50+ Diagram Typer (Gantt Chart, ...)   |   40+ Praktiskt Formler (Beräkna ålder baserat på födelsedag, ...)   |   19 Införande verktyg (Infoga QR-kod, Infoga bild från sökväg, ...)   |   12 Konvertering verktyg (Siffror till ord, Valutaväxling, ...)   |   7 Slå ihop och dela verktyg (Avancerade kombinera rader, Dela celler, ...)   |   ... och mer

Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid.  Klicka här för att få den funktion du behöver mest...

Beskrivning


Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
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