ไปยังเนื้อหาหลัก

จะแทรกช่องว่างก่อนตัวพิมพ์ใหญ่ใน excel ได้อย่างไร?

สมมติว่าคุณมีรายการสตริงข้อความซึ่งช่องว่างทั้งหมดระหว่างคำจะถูกลบออกโดยไม่ได้ตั้งใจเช่นนี้: แทรกBlankRowsระหว่างข้อมูลและตอนนี้คุณต้องการเพิ่มช่องว่างก่อนตัวอักษรแต่ละตัวด้วยตัวพิมพ์ใหญ่เพื่อแยกคำเป็น แทรกแถวว่างระหว่างข้อมูล. คุณจะเพิ่มช่องว่างด้านหน้าตัวพิมพ์ใหญ่อย่างรวดเร็วแทนการพิมพ์ช่องว่างทีละรายการใน Excel ได้อย่างไร


แทรกช่องว่างก่อนตัวพิมพ์ใหญ่ด้วย User Defined Function

น่าเสียดายที่ไม่มีวิธีโดยตรงในการเพิ่มช่องว่างก่อนตัวอักษรตัวพิมพ์ใหญ่ใน Excel แต่คุณสามารถสร้าง User Defined Function เพื่อแก้ปัญหานี้ได้

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's ลบ 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 for Excel

Kutools สำหรับ Excel's เพิ่มข้อความ ยูทิลิตี้สามารถช่วยคุณข้ามมาโคร VBA และแทรกช่องว่างก่อนตัวพิมพ์ใหญ่ทุกตัวใน Excel ได้อย่างง่ายดาย

Kutools สำหรับ Excel - เต็มไปด้วยเครื่องมือที่จำเป็นสำหรับ Excel มากกว่า 300 รายการ เพลิดเพลินกับฟีเจอร์ทดลองใช้ฟรี 30 วันโดยไม่ต้องใช้บัตรเครดิต! ดาวน์โหลดเดี๋ยวนี้!

1. เลือกช่วงที่คุณจะแทรกช่องว่างก่อนตัวพิมพ์ใหญ่แล้วคลิก Kutools > ข้อความ > เพิ่มข้อความ. ดูภาพหน้าจอ:

2. ในกล่องโต้ตอบเพิ่มข้อความเปิดให้พิมพ์ช่องว่างลงในไฟล์ ข้อความ ให้ทำเครื่องหมายที่ เพิ่มในตัวเลือกเท่านั้น และเลือก ตัวอักษรตัวที่ 1 เป็นตัวพิมพ์ใหญ่ จาก เพิ่มเฉพาะ รายการแบบเลื่อนลง

3. คลิก Ok ปุ่มเพื่อแทรกช่องว่างก่อนตัวพิมพ์ใหญ่ทุกตัวตามภาพหน้าจอต่อไปนี้ที่แสดง:
doc เพิ่มช่องว่างก่อนตัวพิมพ์ใหญ่ 7

Kutools สำหรับ Excel - เพิ่มประสิทธิภาพ Excel ด้วยเครื่องมือที่จำเป็นมากกว่า 300 รายการ เพลิดเพลินกับฟีเจอร์ทดลองใช้ฟรี 30 วันโดยไม่ต้องใช้บัตรเครดิต! Get It Now

หมายเหตุ / รายละเอียดเพิ่มเติม: วิธีนี้จะเพิ่มช่องว่างที่จุดเริ่มต้นของเซลล์ด้วยหากตัวอักษรตัวแรกเป็นตัวพิมพ์ใหญ่ คุณสามารถสมัคร Kutools > ข้อความ > ลบ Spaces เพื่อลบช่องว่างชั้นนำทั้งหมดออกจากเซลล์ที่เลือก


บทความที่เกี่ยวข้อง:

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...

kte แท็บ 201905


แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 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