Μετάβαση στο κύριο περιεχόμενο

Πώς να εισαγάγετε κενά πριν από κεφαλαία γράμματα στο Excel;

Ας υποθέσουμε ότι έχετε μια λίστα συμβολοσειρών κειμένου που αφαιρούνται κατά λάθος όλα τα κενά μεταξύ των λέξεων, όπως αυτό: InsertBlankRowsBetweenDataκαι τώρα θέλετε να προσθέσετε τα κενά πριν από κάθε γράμμα με κεφαλαία γράμματα για να διαχωρίσετε τις λέξεις ως Εισαγωγή κενών γραμμών μεταξύ δεδομένων. Πώς θα μπορούσατε να προσθέσετε κενά μπροστά από τα κεφαλαία γράμματα αντί να πληκτρολογήσετε διαστήματα ένα προς ένα στο Excel;


Εισαγάγετε κενά πριν από κεφαλαία γράμματα με τη λειτουργία που καθορίζεται από το χρήστη

Δυστυχώς, δεν υπάρχει άμεσος τρόπος για να προσθέσετε κενά πριν από τα κεφαλαία γράμματα στο Excel, αλλά, μπορείτε να δημιουργήσετε συνάρτηση καθορισμένη από τον χρήστη για να επιλύσετε αυτήν την εργασία.

1. Ενεργοποιήστε το φύλλο εργασίας σας που περιέχει τις συμβολοσειρές κειμένου που θέλετε να προσθέσετε κενά.

2. Κρατήστε πατημένο το ALT + F11 για να ανοίξετε το Παράθυρο Microsoft Visual Basic for Applications.

3. Κλίκ Κύριο θέμα > Μονάδα μέτρησηςκαι επικολλήστε τον ακόλουθο κώδικα στο Παράθυρο ενότητας.

Κωδικός VBA: Εισαγάγετε κενά πριν από κεφαλαία γράμματα

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. Στη συνέχεια, αποθηκεύστε και κλείστε αυτόν τον κωδικό, επιστρέψτε στο φύλλο εργασίας και εισαγάγετε αυτόν τον τύπο = addspaces (A1) σε ένα κενό κελί εκτός από τα δεδομένα σας, δείτε το στιγμιότυπο οθόνης:
doc-add-spaces-before-κεφαλαία-1

5. Και μετά σύρετε τη λαβή πλήρωσης στο εύρος που θέλετε να περιέχει αυτόν τον τύπο, θα λάβετε τα κενά πριν από κάθε κεφαλαίο γράμμα
doc-add-spaces-before-κεφαλαία-1

Αφαιρέστε εύκολα τους κεντρικούς / τελικούς / επιπλέον χώρους στα κελιά

Kutools για Excel Κατάργηση Spaces Το βοηθητικό πρόγραμμα επιτρέπει στους χρήστες του Excel να αφαιρούν εύκολα όλους τους κεντρικούς χώρους, τον τελικό χώρο, τους επιπλέον χώρους ή όλους τους χώρους από επιλεγμένα κελιά γρήγορα.


αφαίρεση χώρου 1

Εισαγάγετε κενά πριν από κεφαλαία γράμματα με κωδικό VBA

Εδώ είναι ένας άλλος κωδικός VBA που μπορεί να σας βοηθήσει, κάντε τα εξής:

1. Κρατήστε πατημένο το ALT + F11 για να ανοίξετε το Παράθυρο Microsoft Visual Basic for Applications.

2. Κλίκ Κύριο θέμα > Μονάδα μέτρησηςκαι επικολλήστε τον ακόλουθο κώδικα στο Παράθυρο ενότητας.

Κωδικός VBA: Εισαγάγετε κενά πριν από κεφαλαία γράμματα

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. Στη συνέχεια πατήστε F5 κλειδί για την εκτέλεση αυτού του κώδικα, θα εμφανιστεί ένα πλαίσιο προτροπής για να σας επιτρέψει να επιλέξετε ένα εύρος δεδομένων που θέλετε να χρησιμοποιήσετε.
doc-add-spaces-before-κεφαλαία-1

4. Και στη συνέχεια κάντε κλικ στο κουμπί OK για να κλείσετε αυτό το πλαίσιο προτροπής, τα κενά έχουν εισαχθεί αμέσως πριν από τα κεφαλαία γράμματα, δείτε το στιγμιότυπο οθόνης:
doc-add-spaces-before-κεφαλαία-1


Εισαγάγετε κενό διάστημα πριν από κάθε κεφαλαίο γράμμα με το Kutools για Excel

Kutools για Excel Προσθήκη κειμένου βοηθητικό πρόγραμμα μπορεί να σας βοηθήσει να παρακάμψετε τις μακροεντολές VBA και να εισαγάγετε κενό διάστημα πριν από κάθε κεφαλαίο γράμμα εύκολα στο Excel.

Kutools για Excel - Συσκευασμένο με πάνω από 300 βασικά εργαλεία για το Excel. Απολαύστε μια ΔΩΡΕΑΝ δοκιμή 30 ημερών με πλήρεις δυνατότητες χωρίς να απαιτείται πιστωτική κάρτα! Κατέβασε τώρα!

1. Επιλέξτε το εύρος όπου θα εισαγάγετε κενό διάστημα πριν από κεφαλαία γράμματα και κάντε κλικ στο Kutools > Κείμενο > Προσθήκη κειμένου. Δείτε το στιγμιότυπο οθόνης:

2. Στο πλαίσιο διαλόγου Προσθήκη κειμένου ανοίγματος, πληκτρολογήστε ένα κενό στο Κείμενο πλαίσιο, επιλέξτε το Προσθήκη μόνο στην επιλογή και επιλέξτε Το 1ο γράμμα είναι κεφαλαίο από το Προσθήκη μόνο σε αναπτυσσόμενη λίστα.

3. Κάντε κλικ στο Ok κουμπί για να εισαγάγετε κενό διάστημα πριν από κάθε κεφαλαία γράμματα όπως φαίνεται στην παρακάτω οθόνη:
doc προσθέστε κενά πριν από τα κεφαλαία 7

Kutools για Excel - Supercharge Excel με πάνω από 300 βασικά εργαλεία. Απολαύστε μια ΔΩΡΕΑΝ δοκιμή 30 ημερών με πλήρεις δυνατότητες χωρίς να απαιτείται πιστωτική κάρτα! Παρ'το Τώρα

Notes: Αυτή η μέθοδος θα προσθέσει επίσης χώρο στην αρχή των κελιών, εάν το πρώτο γράμμα είναι κεφαλαίο. Μπορείτε να κάνετε αίτηση Kutools > Κείμενο > Κατάργηση Spaces για να αφαιρέσετε όλα τα κενά διαστήματα από επιλεγμένα κελιά.


Σχετικό άρθρο:

Τα καλύτερα εργαλεία παραγωγικότητας γραφείου

Δημοφιλή χαρακτηριστικά: Εύρεση, επισήμανση ή αναγνώριση διπλότυπων   |  Διαγραφή κενών γραμμών   |  Συνδυάστε στήλες ή κελιά χωρίς απώλεια δεδομένων   |   Γύρος χωρίς φόρμουλα ...
Σούπερ Αναζήτηση: VLookup πολλαπλών κριτηρίων    VLookup πολλαπλών τιμών  |   VLookup σε πολλά φύλλα   |   Ασαφής αναζήτηση ....
Σύνθετη αναπτυσσόμενη λίστα: Γρήγορη δημιουργία αναπτυσσόμενης λίστας   |  Εξαρτημένη αναπτυσσόμενη λίστα   |  Πολλαπλή αναπτυσσόμενη λίστα ....
Διαχειριστής στήλης: Προσθέστε έναν συγκεκριμένο αριθμό στηλών  |  Μετακίνηση στηλών  |  Εναλλαγή κατάστασης ορατότητας κρυφών στηλών  |  Συγκρίνετε εύρη και στήλες ...
Επιλεγμένα Χαρακτηριστικά: Εστίαση πλέγματος   |  Προβολή σχεδίου   |   Μεγάλη Formula Bar    Διαχείριση βιβλίου εργασίας & φύλλου   |  Βιβλιοθήκη πόρων (Αυτόματο κείμενο)   |  Επιλογή ημερομηνίας   |  Συνδυάστε φύλλα εργασίας   |  Κρυπτογράφηση/Αποκρυπτογράφηση κελιών    Αποστολή email ανά λίστα   |  Σούπερ φίλτρο   |   Ειδικό φίλτρο (φίλτρο με έντονη γραφή/πλάγια γραφή/διαγραφή...) ...
Κορυφαία 15 σύνολα εργαλείων12 Κείμενο Εργαλεία (Προσθήκη κειμένου, Κατάργηση χαρακτήρων, ...)   |   50 + Διάγραμμα Τύποι (Gantt διάγραμμα, ...)   |   40+ Πρακτικό ΜΑΘΗΜΑΤΙΚΟΙ τυποι (Υπολογίστε την ηλικία με βάση τα γενέθλια, ...)   |   19 Εισαγωγή Εργαλεία (Εισαγωγή κωδικού QR, Εισαγωγή εικόνας από το μονοπάτι, ...)   |   12 Μετατροπή Εργαλεία (Αριθμοί σε λέξεις, Μετατροπή Συναλλάγματος, ...)   |   7 Συγχώνευση & διαχωρισμός Εργαλεία (Σύνθετες σειρές συνδυασμού, Διαίρεση κελιών, ...)   |   ... κι αλλα

Αυξήστε τις δεξιότητές σας στο Excel με τα Kutools για Excel και απολαύστε την αποτελεσματικότητα όπως ποτέ πριν. Το Kutools για Excel προσφέρει πάνω από 300 προηγμένες δυνατότητες για την ενίσχυση της παραγωγικότητας και την εξοικονόμηση χρόνου.  Κάντε κλικ εδώ για να αποκτήσετε τη δυνατότητα που χρειάζεστε περισσότερο...

kte καρτέλα 201905


Το Office Tab φέρνει τη διεπαφή με καρτέλες στο Office και κάνει την εργασία σας πολύ πιο εύκολη

  • Ενεργοποίηση επεξεργασίας και ανάγνωσης καρτελών σε Word, Excel, PowerPoint, Publisher, Access, Visio και Project.
  • Ανοίξτε και δημιουργήστε πολλά έγγραφα σε νέες καρτέλες του ίδιου παραθύρου και όχι σε νέα παράθυρα.
  • Αυξάνει την παραγωγικότητά σας κατά 50% και μειώνει εκατοντάδες κλικ του ποντικιού για εσάς κάθε μέρα!
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