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

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 przydatnych narzędzi dla programu Excel. Pełna wersja bezpłatnej wersji próbnej 30-dzień, karta kredytowa nie jest wymagana! Bezpłatna wersja próbna 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 - Zawiera ponad 300 przydatnych narzędzi dla programu Excel. Pełna wersja bezpłatnej wersji próbnej 30-dzień, karta kredytowa nie jest wymagana! 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

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

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!
officetab dół
Sortuj komentarze według
Komentarze (9)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
potrzebuję pomocy w programie Excel chcę znaleźć wielkie litery w komórce. na przykład: Sagar Paul MBA 16:04 chcę być wyróżniony MBA
Ten komentarz został zminimalizowany przez moderatora na stronie
Mam nadzieję, że możesz to zobaczyć i spróbować. 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
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, Twój kod działa fantastycznie. Czy wiesz, jak dostosować kod 20140723 do pracy na wielu arkuszach? Chciałbym dodać spacje między wielkimi literami w całym skoroszycie. Dzięki!
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć

Po pierwsze bardzo dziękuję za przykład kodu i wyjaśnienia. Działa bardzo dobrze w moim przypadku.

Mam tylko 1 problem, niektóre ciągi zawierają słowa takie jak URL, które nie powinny być rozdzielane.
Czy widzisz sposób, aby wykluczyć na przykład „adres URL” z dodawania spacji?

Byłoby bardzo miło, gdybyś mógł pomóc. Próbowałem już chwilę, ale nie wiem, jak to rozwiązać..


Z poważaniem
luca
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć,
Dzięki za komentarz i radę. Wysłałem twoją sugestię do zespołu projektowego Kutools, jestem pewien, że wkrótce to poprawią.
Ten komentarz został zminimalizowany przez moderatora na stronie
Znalazłeś rozwiązanie?
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć, chcę Cię zapytać, czy znalazłeś rozwiązanie dla swojej sprawy, jeśli znalazłeś rozwiązanie, podaj mi to
Ten komentarz został zminimalizowany przez moderatora na stronie
Ta funkcja obsługuje dwa problemy, których dane rozwiązanie nie obejmuje:
1. tekst w języku innym niż angielski (ze znakami diakrytycznymi)
2. kolejne wielkie litery, po których nie powinno być spacji

` Funkcja prywatna AddSpaces (sText As String) As String
' Wstawia spację bezpośrednio przed wielką literą, z wyjątkiem sytuacji, gdy kolejne znaki są pisane wielką literą.
' Ostatnia aktualizacja: 2022-07-04
'
Dim sRet As String, i As Integer, sChar As String, bPrevWasUCase As Boolean

sRet = Lewo(sTekst, 1)
Dla i = 2 do Len(sText)
sChar = Mid(sTekst, i, 1)
Jeśli sChar = UCase(sChar) i nie bPrevWasUCase to
sRet = sRet & " " & sChar
bPrevWasUCase = Prawda
Więcej
sRet = sRet i sChar
bPrevWasUCase = Fałsz
End If
Dalej i

AddSpaces=sRet
Koniec funkcji`
Ten komentarz został zminimalizowany przez moderatora na stronie
Cześć przyjacielu,

Dzięki za twój udział. Próbowałem twojego kodu VBA, ale nie działa. Nasz kod VBA może obsługiwać tekst w języku innym niż angielski. Przetestowałem tekst w języku francuskim i spacje są pomyślnie wstawiane przed wielkimi literami.

Pozdrawiamy,
Mandy
Nie ma tu jeszcze żadnych komentarzy
Zostaw swój komentarz
Publikowanie jako gość
×
Oceń ten post:
0   Postacie
Sugerowane lokalizacje

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL