Przejdź do głównej zawartości

Jak wstawić spacje przed dużymi literami w programie Excel?

Przypuśćmy, że masz listę ciągów tekstowych, z których wszystkie spacje między słowami są przypadkowo usuwane, na przykład: Wstaw puste wiersze między danymi, a teraz chcesz dodać spacje przed każdą literą wielkimi literami, aby oddzielić słowa jako Wstaw puste wiersze między danymi. Jak możesz szybko dodać spacje przed wielkimi literami zamiast wpisywać spacje jedna po drugiej w programie Excel?


Wstaw spacje przed dużymi literami za pomocą funkcji zdefiniowanej przez użytkownika

Niestety, w programie Excel nie ma bezpośredniego sposobu dodawania spacji przed wielkimi literami, ale można utworzyć funkcję zdefiniowaną przez użytkownika, aby rozwiązać to zadanie.

1. Aktywuj arkusz roboczy zawierający ciągi tekstowe, do których chcesz dodać spacje.

2. Przytrzymaj ALT + F11 klawisze, aby otworzyć Okno Microsoft Visual Basic for Applications.

3. Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.

Kod VBA: wstaw spacje przed dużymi literami

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. Następnie zapisz i zamknij ten kod, wróć do arkusza i wprowadź tę formułę = spacje dodatkowe (A1) do pustej komórki poza danymi, zobacz zrzut ekranu:
doc-dodaj-spacje-przed-wielką-1

5. A następnie przeciągnij uchwyt wypełniania do zakresu, w którym chcesz zawrzeć tę formułę, a spacje zostaną wstawione przed każdą wielką literą.
doc-dodaj-spacje-przed-wielką-1

Z łatwością usuwaj początkowe / końcowe / dodatkowe spacje w komórkach

Kutools dla Excela Usuń spacje Narzędzie umożliwia użytkownikom programu Excel łatwe usuwanie całej wiodącej spacji, spacji końcowej, dodatkowych spacji lub wszystkich spacji z wybranych komórek.


ad usuń spację 1

Wstaw spacje przed dużymi literami z kodem VBA

Oto kolejny kod VBA, który może wyświadczyć ci przysługę, wykonaj następujące czynności:

1. Przytrzymaj ALT + F11 klawisze, aby otworzyć Okno Microsoft Visual Basic for Applications.

2. Kliknij wstawka > Modułi wklej następujący kod w Okno modułu.

Kod VBA: wstaw spacje przed dużymi literami

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. Następnie naciśnij F5 Aby wykonać ten kod, pojawi się okno zachęty umożliwiające wybranie zakresu danych, którego chcesz użyć.
doc-dodaj-spacje-przed-wielką-1

4. A następnie kliknij OK aby zamknąć to okno zachęty, spacje zostały wstawione przed dużymi literami od razu, patrz zrzut ekranu:
doc-dodaj-spacje-przed-wielką-1


Wstaw spację przed każdą wielką literą za pomocą Kutools for Excel

Kutools dla Excela Dodaj tekst narzędzie może pomóc Ci ominąć makra VBA i łatwo wstawić spację przed każdą wielką literą w programie Excel.

Kutools dla programu Excel - Zawiera ponad 300 niezbędnych narzędzi dla programu Excel. Ciesz się w pełni funkcjonalnym 30-dniowym DARMOWYM okresem próbnym bez karty kredytowej! Pobierz teraz!

1. Wybierz zakres, w którym wstawisz spację przed wielkimi literami, i kliknij Kutools > Tekst > Dodaj tekst. Zobacz zrzut ekranu:

2. W otwartym oknie dialogowym Dodaj tekst wpisz spację w Tekst zaznacz pole Dodaj tylko do opcji i wybierz Pierwsza litera jest wielka z Dodawaj tylko do Lista rozwijana.

3, Kliknij Ok przycisk, aby wstawić spację przed każdą wielką literą, jak pokazano na poniższym zrzucie ekranu:
doc dodaj spacje przed dużymi literami 7

Kutools dla programu Excel - Doładuj program Excel za pomocą ponad 300 niezbędnych narzędzi. Ciesz się w pełni funkcjonalnym 30-dniowym DARMOWYM okresem próbnym bez karty kredytowej! Zdobądź To Teraz

Uwagi: Ta metoda spowoduje również dodanie spacji na początku komórek, jeśli pierwsza litera jest duża. Możesz aplikować Kutools > Tekst > Usuń spacje aby usunąć wszystkie wiodące spacje z wybranych komórek.


Podobne artykuły:

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
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