Přejít k hlavnímu obsahu

Jak vložit mezery před velkými písmeny v aplikaci Excel?

Předpokládejme, že máte seznam textových řetězců, které náhodně odstraní všechny mezery mezi slovy, například takto: InsertBlankRowsB BetweenData, a nyní chcete přidat mezery před každé písmeno velkými písmeny, abyste oddělili slova jako Vložte prázdné řádky mezi data. Jak byste mohli rychle přidávat mezery před velkými písmeny namísto psaní mezer po jednom v aplikaci Excel?


Pomocí funkce definované uživatelem vkládejte mezery před velká písmena

Bohužel neexistuje žádný přímý způsob, jak přidat mezery před velkými písmeny v aplikaci Excel, ale k vyřešení tohoto úkolu můžete vytvořit funkci definovanou uživatelem.

1. Aktivujte list, který obsahuje textové řetězce, do kterých chcete přidat mezery.

2. Podržte ALT + F11 klávesy pro otevření Okno Microsoft Visual Basic pro aplikace.

3, klikněte Vložit > Modula vložte následující kód do Okno modulu.

Kód VBA: Vložte mezery před velká písmena

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. Poté tento kód uložte a zavřete, vraťte se do listu a zadejte tento vzorec = přídavné prostory (A1) do prázdné buňky kromě vašich dat, viz screenshot:
doc-add-mezery-před-velká-1

5. A poté přetáhněte úchyt výplně přes rozsah, který chcete tento vzorec obsahovat, dostanete mezery před každé vaše velké písmeno.
doc-add-mezery-před-velká-1

Snadno odstraňte úvodní / koncové / extra mezery v buňkách

Kutools pro Excel Odebrat mezery obslužný program umožňuje uživatelům aplikace Excel snadno z vybraných buněk rychle odstranit veškerý úvodní prostor, koncový prostor, mezery navíc nebo všechny mezery.


reklama odstranit mezeru 1

Vložte mezery před velká písmena pomocí kódu VBA

Zde je další kód VBA, který vám může udělat laskavost, postupujte takto:

1. Podržte ALT + F11 klávesy pro otevření Okno Microsoft Visual Basic pro aplikace.

2, klikněte Vložit > Modula vložte následující kód do Okno modulu.

Kód VBA: Vložte mezery před velká písmena

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. Pak stiskněte tlačítko F5 klíč k provedení tohoto kódu, vyskočí okno s výzvou k výběru rozsahu dat, který chcete použít.
doc-add-mezery-před-velká-1

4. A pak klikněte na tlačítko OK zavřete toto pole s výzvou, mezery byly vloženy před velká písmena najednou, viz screenshot:
doc-add-mezery-před-velká-1


Vložte mezeru před všechna velká písmena pomocí Kutools pro Excel

Kutools pro Excel doplnit text nástroj vám pomůže snadno obejít makra VBA a snadno vložit prostor před všechna velká písmena v aplikaci Excel.

Kutools pro Excel - Baleno s více než 300 základními nástroji pro Excel. Užijte si plnohodnotnou 30denní zkušební verzi ZDARMA bez nutnosti kreditní karty! Stáhnout nyní!

1. Vyberte rozsah, do kterého vložíte mezeru před velkými písmeny, a klikněte na Kutools > Text > doplnit text. Viz snímek obrazovky:

2. V úvodním dialogovém okně Přidat text zadejte mezeru do Text zaškrtněte políčko Pouze přidat do možnosti a zvolte 1. písmeno je velké z Pouze přidat do rozbalovací seznam.

3, Klepněte na tlačítko Ok tlačítko pro vložení mezery před všechna velká písmena, jak ukazuje následující snímek obrazovky:
doc přidejte mezery před velká písmena 7

Kutools pro Excel - Supercharge Excel s více než 300 základními nástroji. Užijte si plnohodnotnou 30denní zkušební verzi ZDARMA bez nutnosti kreditní karty! Get It Now

Poznámky: Tato metoda také přidá mezeru na začátek buněk, pokud je první písmeno velké. Můžete se přihlásit Kutools > Text > Odebrat mezery odebrat všechny úvodní mezery z vybraných buněk.


Související článek:

Nejlepší nástroje pro produktivitu v kanceláři

🤖 Kutools AI asistent: Revoluční analýza dat založená na: Inteligentní provedení   |  Generovat kód  |  Vytvořte vlastní vzorce  |  Analyzujte data a generujte grafy  |  Vyvolejte funkce Kutools...
Populární funkce: Najít, zvýraznit nebo identifikovat duplikáty   |  Odstranit prázdné řádky   |  Kombinujte sloupce nebo buňky bez ztráty dat   |   Kolo bez vzorce ...
Super vyhledávání: Více kritérií VLookup    VLookup s více hodnotami  |   VLookup na více listech   |   Fuzzy vyhledávání ....
Pokročilý rozevírací seznam: Rychle vytvořte rozevírací seznam   |  Závislý rozbalovací seznam   |  Vícenásobný výběr rozevíracího seznamu ....
Správce sloupců: Přidejte konkrétní počet sloupců  |  Přesunout sloupce  |  Přepnout stav viditelnosti skrytých sloupců  |  Porovnejte rozsahy a sloupce ...
Doporučené funkce: Zaměření mřížky   |  Návrhové zobrazení   |   Velký Formula Bar    Správce sešitů a listů   |  Knihovna zdrojů (Automatický text)   |  Výběr data   |  Zkombinujte pracovní listy   |  Šifrovat/dešifrovat buňky    Odesílat e-maily podle seznamu   |  Super filtr   |   Speciální filtr (filtr tučné/kurzíva/přeškrtnuté...) ...
Top 15 sad nástrojů12 Text Tools (doplnit text, Odebrat znaky, ...)   |   50+ Graf Typ nemovitosti (Ganttův diagram, ...)   |   40+ Praktické Vzorce (Vypočítejte věk na základě narozenin, ...)   |   19 Vložení Tools (Vložte QR kód, Vložit obrázek z cesty, ...)   |   12 Konverze Tools (Čísla na slova, Přepočet měny, ...)   |   7 Sloučit a rozdělit Tools (Pokročilé kombinování řádků, Rozdělit buňky, ...)   |   ... a více

Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času.  Kliknutím sem získáte funkci, kterou nejvíce potřebujete...

Popis


Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50%a snižuje stovky kliknutí myší každý den!
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