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

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 - Innehåller mer än 300 praktiska verktyg för Excel. Fullständig gratis provperiod 30-dag, inget kreditkort krävs! Gratis testversion 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 - Innehåller mer än 300 praktiska verktyg för Excel. Fullständig gratis provperiod 30-dag, inget kreditkort krävs! 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:


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

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!
officetab botten
Sortera kommentarer efter
Kommentarer (9)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
jag behöver hjälp med excel jag vill hitta versaler i en cell. till exempel: Sagar Paul MBA 16:04 Jag vill att MBA ska markeras
Denna kommentar minimerades av moderatoren på webbplatsen
Jag hoppas att du kan se det och prova det. Sub Test() Dim Rg As Range, xCell As Range Dim i As Long Dim xChar As String Set Rg = Application.Selection For Every xCell In Rg For i = 1 To xCell.Characters.Count xChar = xCell.Characters(i, 1 ).Text Om Asc(xChar) > 64 Och Asc(xChar) < 91 Sedan xCell.Characters(i, 1).Font.Color = vbRed End If Next Next End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
Hej, din kod fungerar utmärkt. Vet du hur man anpassar kod 20140723 för att fungera på flera ark? Jag skulle vilja lägga till mellanslag mellan versaler i hela arbetsboken. Tack!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej

Först tack så mycket för ditt kodexempel och förklaringarna. Det fungerar väldigt bra för mitt fall.

Jag har bara ett problem, några av strängarna innehåller ord som URL, som inte bör separeras.
Ser du ett sätt att utom till exempel "URL" från att lägga till mellanslag?

Skulle vara väldigt trevligt om du kan hjälpa till. Jag försökte redan ett tag, men jag vet inte hur jag ska lösa detta..


Med vänliga hälsningar
Luca
Denna kommentar minimerades av moderatoren på webbplatsen
Hej,
Tack för din kommentar och råd. Jag har skickat ditt förslag till Kutools projektteam, jag är säker på att de kommer att förbättra det snart.
Denna kommentar minimerades av moderatoren på webbplatsen
Hittat en lösning?
Denna kommentar minimerades av moderatoren på webbplatsen
hej vill fråga dig om du hittade en lösning för ditt fall, om du hittade en lösning vänligen ge mig det
Denna kommentar minimerades av moderatoren på webbplatsen
Den här funktionen hanterar två problem som den givna lösningen inte täcker:
1. icke-engelsk text (med diakritiska tecken)
2. på varandra följande versaler som inte ska ha mellanslag efter sig

` Privat funktion AddSpaces(sText As String)As String
' Infogar ett mellanslag omedelbart före en stor bokstav, utom när på varandra följande tecken är versaler.
' Senast uppdaterad: 2022-07-04
'
Dim sRet As String, i As Integer, sChar As String, bPrevWasUCase As Boolean

sRet = Left(sText, 1)
För i = 2 Till Len(sText)
sChar = Mid(sText, i, 1)
Om sChar = UCase(sChar) och inte bPrevWasUCase då
sRet = sRet & " " & sChar
bPrevWasUCase = Sant
annars
sRet = sRet & sChar
bPrevWasUCase = Falskt
End If
Nästa jag

AddSpaces= sRet
Avsluta funktion`
Denna kommentar minimerades av moderatoren på webbplatsen
Hej kompis,

Tack för din del. Jag provade din VBA-kod, men det fungerar inte. Vår VBA-kod kan hantera den icke-engelska texten. Jag har testat den franska texten och mellanslag har infogats före de stora bokstäverna.

Vänliga hälsningar,
Mandy
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL