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

วิธีการแปลงสตริงข้อความที่คั่นด้วยจุลภาคเป็นรายการหรือแถวใน Excel

doc แปลงค่าคอมมาเป็นรายการ 1

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

แปลงสตริงข้อความที่คั่นด้วยจุลภาคเป็นแถวด้วยรหัส VBA

แปลงสตริงข้อความที่คั่นด้วยจุลภาคเป็นแถวด้วย Kutools for Excel


แปลงสตริงข้อความที่คั่นด้วยจุลภาคเป็นแถวด้วยรหัส VBA

รหัส VBA ต่อไปนี้อาจช่วยคุณในการแปลงค่าเซลล์ที่คั่นด้วยจุลภาคหลายค่าเป็นคอลัมน์โปรดทำดังนี้:

1. กด Alt + F11 ใน Excel และจะเปิดไฟล์ Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางมาโครต่อไปนี้ในไฟล์ โมดูล หน้าต่าง.

รหัส VBA: แปลงสตริงข้อความที่คั่นด้วยจุลภาคเป็นแถวหรือรายการ

Sub RedistributeCommaDelimitedData()
'Updateby Extendoffice
    Dim xArr() As String
    Dim xAddress As String
    Dim Rg As Range
    Dim Rg1 As Range
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set Rg = Application.InputBox("please select the data range:", "Kutools for Excel", xAddress, , , , , 8)
    If Rg Is Nothing Then Exit Sub
    Set Rg = Application.Intersect(Rg, Rg.Parent.UsedRange)
    If Rg Is Nothing Then Exit Sub
    Set Rg1 = Application.InputBox("please select output cell:", "Kutools for Excel", , , , , , 8)
    If Rg1 Is Nothing Then Exit Sub
    xArr = Split(Join(Application.Transpose(Rg.Value), ","), ",")
    Rg1.Resize(UBound(xArr) + 1) = Application.Transpose(xArr)
    Rg1.Parent.Activate
    Rg1.Resize(UBound(xArr) + 1).Select
End Sub

3. จากนั้นกด F5 คีย์เพื่อเรียกใช้รหัสนี้ในกล่องโต้ตอบที่โผล่ขึ้นมาให้เลือกช่วงข้อมูลที่คุณต้องการแปลงดูภาพหน้าจอ:

doc แปลงค่าคอมมาเป็นรายการ 2

4. และคลิก OKในกล่องโต้ตอบต่อไปนี้ระบุเซลล์ที่คุณต้องการส่งออกผลลัพธ์ดูภาพหน้าจอ:

doc แปลงค่าคอมมาเป็นรายการ 3

5. คลิก OK ปุ่มค่าของเซลล์ที่คั่นด้วยจุลภาคที่เลือกถูกแปลงเป็นรายการของแถว ดูภาพหน้าจอ:

doc แปลงค่าคอมมาเป็นรายการ 4


แปลงสตริงข้อความที่คั่นด้วยจุลภาคเป็นแถวด้วย Kutools for Excel

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

Kutools สำหรับ Excel : ด้วย Add-in ของ Excel ที่มีประโยชน์มากกว่า 300 รายการทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน. 

หลังจากการติดตั้ง Kutools สำหรับ Excelโปรดทำตามขั้นตอนต่อไปนี้:

1. เลือกค่าของเซลล์ที่คุณต้องการแปลงเป็นแถวตามตัวคั่นลูกน้ำ

2. จากนั้นคลิก Kutools > ผสานและแยก > แยกเซลล์ดูภาพหน้าจอ:

3. ใน แยกเซลล์ ใหเลือก แบ่งเป็นแถว ภายใต้ ชนิดภาพเขียน แล้วจาก ระบุตัวคั่น ตรวจสอบ อื่นๆ ช่องทำเครื่องหมายแล้วป้อนเครื่องหมายจุลภาคลงในกล่องข้อความดูภาพหน้าจอ:

doc แปลงค่าคอมมาเป็นรายการ 6 6

4. จากนั้นคลิก Okและกล่องโต้ตอบอื่นจะปรากฏขึ้นเพื่อเตือนให้คุณเลือกเซลล์ที่จะใส่ผลลัพธ์ดูภาพหน้าจอ:

doc แปลงค่าคอมมาเป็นรายการ 7

5. จากนั้นคลิก Ok ปุ่มเซลล์ที่คั่นด้วยเครื่องหมายจุลภาคถูกแบ่งออกเป็นหลายแถวตามตัวคั่นลูกน้ำดูภาพหน้าจอ:

doc แปลงค่าคอมมาเป็นรายการ 8

คลิกเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับคุณสมบัติ Split Cells ...

ดาวน์โหลดและทดลองใช้ Kutools for Excel ฟรีทันที!


Demo: แปลงสตริงข้อความที่คั่นด้วยจุลภาคเป็นแถวด้วย Kutools for Excel

Kutools สำหรับ Excel: ด้วย Add-in ของ Excel ที่มีประโยชน์มากกว่า 300 รายการให้ทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน ดาวน์โหลดและทดลองใช้ฟรีทันที!

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

วิธีการแบ่งเซลล์ออกเป็นหลายคอลัมน์หรือหลายแถวโดยการกลับรถ?

วิธีแบ่งค่าเซลล์ออกเป็นหลายคอลัมน์ใน Excel

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

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

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

รายละเอียด


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

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
update to work for a single input cell (mentioned by Sid posted before me). Probably a way to do this for both scenarios, but this worked for me, I had the same issue.

Sub RedistributeCommaDelimitedData_singleCell()

'Updateby Extendoffice 201592

Dim xArr() As String

Dim xAddress As String

Dim Rg As Range

Dim Rg1 As Range

On Error Resume Next

xAddress = Application.ActiveWindow.RangeSelection.Address

Set Rg = Application.InputBox("please select the data range:", "Kutools for Excel", xAddress, , , , , 8)

If Rg Is Nothing Then Exit Sub

Set Rg = Application.Intersect(Rg, Rg.Parent.UsedRange)

If Rg Is Nothing Then Exit Sub

Set Rg1 = Application.InputBox("please select output cell:", "Kutools for Excel", , , , , , 8)

If Rg1 Is Nothing Then Exit Sub



' xArr = Split(Join(Application.Transpose(Rg.value), ","), ",") -------- need this if you have multiple input cells in your input range (Rg)

' replace with this for single input cell for Rg:

xArr = Split(Rg.value, ",")

Rg1.Resize(UBound(xArr) + 1) = Application.Transpose(xArr)

Rg1.Parent.Activate

Rg1.Resize(UBound(xArr) + 1).Select



End Sub
This comment was minimized by the moderator on the site
I have a cell with 667 characters, of which 119 are commas.With this VBA code I can't split. Can you help me please?Thank you very much!
This comment was minimized by the moderator on the site
Hi, I have a single row but this formula do not work for single row while it works for multiple rows could you guide on that would be a great help Thanks
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations