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

Cum se inserează spații înainte de majuscule în Excel?

Presupunând că aveți o listă de șiruri de text, care toate spațiile dintre cuvinte sunt eliminate accidental, astfel: InsertBlankRowsBetweenData, iar acum doriți să adăugați spațiile dinaintea fiecărei litere cu litere mari pentru a separa cuvintele ca Introduceți rânduri goale între date. Cum ați putea adăuga rapid spații în fața literelor majuscule în loc să tastați spații unul câte unul în Excel?


Introduceți spații înainte de litere mari cu funcția definită de utilizator

Din păcate, nu există o modalitate directă de a adăuga spații înainte de literele majuscule în Excel, dar puteți crea funcția definită de utilizator pentru a rezolva această sarcină.

1. Activați foaia de lucru care conține șirurile de text pe care doriți să le adăugați spații.

2. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Fereastra Microsoft Visual Basic pentru aplicații.

3. Clic Insera > Moduleși lipiți următorul cod în Fereastra modulului.

Cod VBA: introduceți spații înainte de majuscule

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. Apoi salvați și închideți acest cod, reveniți la foaia de lucru și introduceți această formulă = adăugați spații (A1) într-o celulă goală pe lângă datele dvs., consultați captura de ecran:
doc-add-spaces-before-majuscule-1

5. Și apoi trageți mânerul de umplere peste intervalul pe care doriți să îl conțineți cu această formulă, veți obține spațiile inserate înaintea fiecărei litere majuscule.
doc-add-spaces-before-majuscule-1

Îndepărtați cu ușurință spațiile principale / finale / suplimentare din celule

Kutools pentru Excel Eliminați spațiile utilitarul permite utilizatorilor Excel să elimine cu ușurință rapid tot spațiul principal, spațiul final, spațiile suplimentare sau toate spațiile din celulele selectate.


anunțul elimină spațiul 1

Introduceți spații înainte de majuscule cu cod VBA

Iată un alt cod VBA care vă poate face o favoare, vă rugăm să faceți următoarele:

1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Fereastra Microsoft Visual Basic pentru aplicații.

2. Clic Insera > Moduleși lipiți următorul cod în Fereastra modulului.

Cod VBA: introduceți spații înainte de majuscule

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. Apoi apăsați F5 pentru a executa acest cod, va apărea o casetă de prompt pentru a vă permite să selectați un interval de date pe care doriți să îl utilizați.
doc-add-spaces-before-majuscule-1

4. Apoi faceți clic pe OK pentru a închide această casetă de prompt, spațiile au fost inserate înaintea literelor majuscule simultan, vezi captura de ecran:
doc-add-spaces-before-majuscule-1


Introduceți spațiu înaintea fiecărei litere mari cu Kutools pentru Excel

Kutools pentru Excel Adăuga text utilitarul vă poate ajuta să ocoliți macrocomenzile VBA și să inserați cu ușurință spațiu înainte de fiecare literă mare în Excel.

Kutools pentru Excel - Include peste 300 de instrumente utile pentru Excel. Probă gratuită cu funcții complete 30-zi, nu este nevoie de card de credit! Încercare gratuită acum!

1. Selectați intervalul în care veți insera spațiu înainte de majuscule și faceți clic pe Kutools > Text > Adăuga text. Vedeți captura de ecran:

2. În caseta de dialog Adăugare text de deschidere, tastați un spațiu în Text , bifați caseta Adăugați numai la opțiune și selectați Prima literă este cu majuscule de la Adăugați numai la lista verticală.

3. clic pe Ok butonul pentru a insera spațiu înaintea fiecărei litere mari, după cum se arată în următoarea captură de ecran:
doc adăugați spații înainte de majuscule 7

Kutools pentru Excel - Include peste 300 de instrumente utile pentru Excel. Probă gratuită cu funcții complete 30-zi, nu este nevoie de card de credit! Ia-L Acum

notițe: Această metodă va adăuga spațiu și la începutul celulelor dacă prima literă este cu majuscule. Puteți aplica Kutools > Text > Eliminați spațiile pentru a elimina toate spațiile principale din celulele selectate.


Articol asociat:


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (9)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am nevoie de ajutor în Excel Vreau să găsesc majuscule într-o celulă. de exemplu: Sagar Paul MBA 16:04 vreau ca MBA să fie evidențiat
Acest comentariu a fost redus la minimum de moderatorul de pe site
Sper că îl puteți vedea și îl puteți încerca. 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 Dacă Asc(xChar) > 64 Și Asc(xChar) < 91 Atunci xCell.Characters(i, 1).Font.Color = vbRed End If Next Next End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua, codul tău funcționează fantastic. Știți cum să adaptați codul 20140723 pentru a funcționa pe mai multe foi? Aș dori să adaug spații între majuscule în întregul registru de lucru. Mulțumiri!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hei

În primul rând, mulțumesc mult pentru exemplul de cod și explicații. Funcționează foarte bine pentru cazul meu.

Am doar o problemă, unele dintre șiruri conțin cuvinte precum URL, care nu ar trebui separate.
Vedeți o modalitate de a excepta, de exemplu, „URL” de la adăugarea de spații?

Ar fi foarte frumos dacă ați putea ajuta. Am incercat deja de ceva vreme, dar nu stiu cum sa rezolv asta...


Cel mai bun în ceea ce priveşte
luca
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună,
Vă mulțumesc pentru comentariu și sfat. Am trimis sugestia ta echipei de proiect Kutools, sunt sigur că o vor îmbunătăți în curând.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Ati gasit o solutie?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, vreau să vă întreb dacă ați găsit o soluție pentru cazul dvs., dacă ați găsit o soluție, vă rog să-mi oferiți asta
Acest comentariu a fost redus la minimum de moderatorul de pe site
Această funcție tratează două probleme pe care soluția dată nu le acoperă:
1. text non-engleză (cu semne diacritice)
2. majuscule succesive care să nu aibă spații după ele

` Funcția privată AddSpaces(sText As String)As String
' Inserează un spațiu imediat înaintea unei majuscule, cu excepția cazului în care caracterele succesive sunt fiecare scris cu majuscule.
Ultima actualizare: 2022-07-04
'
Dim sRet ca șir, i ca întreg, sChar ca șir, bPrevWasUCase ca boolean

sRet = Stânga (sText, 1)
Pentru i = 2 To Len(sText)
sChar = Mid(sText, i, 1)
Dacă sChar = UCase(sChar) și nu bPrevWasUCase, atunci
sRet = sRet & " " & sChar
bPrevWasUCase = Adevărat
Altfel
sRet = sRet & sChar
bPrevWasUCase = Fals
Final, dacă
Apoi eu

AddSpaces= sRet
Funcție de sfârșit`
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut prietene,

Vă mulțumim pentru cota dvs. Am încercat codul tău VBA, dar nu funcționează. Codul nostru VBA poate gestiona textul non-englez. Am testat textul francez și spațiile au fost introduse cu succes înaintea majusculelor.

Cu sinceritate,
Mandy
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL