By แขก ในวันอังคารที่ 24 ธันวาคม 2019
โพสต์ใน Excel
ตอบกลับ 1
การกดไลค์ 0
เข้าชม 12.4K
โหวต 0
การใช้ VBA เพื่อแปลงสตริงจุลภาคของฉันเป็นแถวนั้นใช้งานได้ดี แต่ตอนนี้ ฉันต้องจับคู่การแบ่งกับค่าในคอลัมน์ A ตัวอย่าง
Colum A มี "Trees: คอลัมน์ B เป็นสตริงลูกน้ำ: Dogwood,Ash,Maple,Elm,Apple
ฉันจะแสดงเป็น:
[ฟอนต์=คาลิบรี]ปัจจุบัน[/ font]
[ฟอนต์=คาลิบรี]ต้นไม้[/ font][ฟอนต์=คาลิบรี]ด๊อกวู้ด,เถ้า,เมเปิ้ล,เอล์ม,แอปเปิ้ล[/ font]
[ฟอนต์=คาลิบรี]จำเป็นต้อง[/ font]
[ฟอนต์=คาลิบรี]ต้นไม้[/ font][ฟอนต์=คาลิบรี]ต้นดอกวูด[/ font]
[ฟอนต์=คาลิบรี]ต้นไม้[/ font][ฟอนต์=คาลิบรี]แอช[/ font]
[ฟอนต์=คาลิบรี]ต้นไม้[/ font][ฟอนต์=คาลิบรี]ต้นเมเปิล[/ font]
[ฟอนต์=คาลิบรี]ต้นไม้[/ font][ฟอนต์=คาลิบรี]ไม้ต้นจำพวก ulmus[/ font]
[ฟอนต์=คาลิบรี]ต้นไม้[/ font][font=Calibri]แอปเปิ้ล [/font]
ขอขอบคุณ
ข้อความย่อยสาธารณะ ToColumns()
ตั้งค่า Arange = ช่วง ("A:A")
ตั้งค่า BRange = ช่วง ("B:B")
ตั้งค่า CRange = ช่วง ("C:C")
ตั้งค่า DRange = ช่วง ("D:D")
Dim arr() เป็นสตริง
lr = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
กำหนดออก = Worksheets.Add
out.Name = "ออก"
แถวนอก = 2
สำหรับฉัน = 2 ถึง lr
    arr = แยก(ARange(i), ",")
    สำหรับ j = 0 ถึง UBound(arr)
        out.Cells(outRow, 1) = ตัดแต่ง (arr(j))
        out.Cells(outRow, 2) = BRange(i) เซลล์ออก
        out.Cells (ออกแถว 3) = CRange (i)
        out.Cells(outRow, 4) = DRange(i) ออก
        เอาต์โรว์ = เอาต์โรว์ + 1
    ถัดไปเจ
ต่อไปฉัน
ย่อยสิ้นสุด
ฉันไม่ได้ทำส่วนหัวหรือจัดการกับแผ่นงานอย่างถูกต้อง แต่คุณสามารถเห็นได้โดยพื้นฐานว่าเกิดอะไรขึ้น
·
3 ปีที่ผ่านมา
·
0 ชอบ
·
0 คะแนน
·
0 คอมเมนต์
·
ดูโพสต์แบบเต็ม