ลิสต์ Item สินค้า ที่ลูกค้าสั่งลงใน Cell เดียว ด้วย VBA (Automation with Excel VBA)

ลิสต์ item สินค้าที่ลูกค้าต้องการลงใน Cell เดียว

ลิสต์ Item สินค้า ที่ลูกค้าสั่งลงใน Cell เดียว เป็นลักษณะงานที่พบมากใน #การขายสินค้าออนไลน์ และ #งานขนส่งสินค้า (packing list / delivery note / despatch manifest / etc.)

👉 #โจทย์…

ต้องการ ลิสต์ Item สินค้า ที่ลูกค้าสั่งลงใน Cell เดียว โดยให้คั่นด้วยเครื่องหมาย Comma

👉#แนวทาง

🔸 โจทย์ประเภทนี้ แทบจะเป็นไปไม่ได้ หรือหากต้องการจะใช้สูตร Excel จริง ๆ จะต้องออกแบบสูตรที่ค่อยข้างซับซ้อน และยาวมาก ๆ งานลักษณะนี้ การใช้ VBA จะเป็นเรื่องที่ง่ายกว่ามากเขียนโค้ดเพียง 5-6 บรรทัดเท่านั้น

👉#ขั้นตอนในการเขียนโค้ด

🔸 1) ประกาศตัวแปร 2 ค่าคือ

  • 1) ตัวแปร i เพื่อรับค่าบรรทัดของข้อมูลทั้งหมดที่ต้องการ Loop
  • 2) ตัวแปร myTargetRow เพื่อรับค่าตำแหน่งบรรทัดของรายชื่อลูกค้า ที่ต้องเอา Item Code ไปวาง

🔸 2) Loop ไปที่รายชื่อ แล้ว ใช้ Function match เพื่อหาตำแหน่งบรรทัดที่ต้องเอา item Code ไปวาง

🔸 3) ในการวางค่าให้เริ่มด้วย รายการ item Code เดิมที่อยู่ในตำแหน่งนั้น แล้วเชื่อมด้วย & แล้วตามด้วย Comma แล้วจึงตามด้วย รายการ Item Code

🔸 4) และเพื่อตัด Comma ที่อยู่หน้าสุด ในทุก ๆ รอบของการการ Loop ให้เช็คว่า ตัวอักษรแรกใน Cell ที่วางค่าขึ้นต้นด้วย Comma หรือไม่ ถ้าใช่ ให้ตัด Comma ออกด้วยสูตร mid

👉#โค้ดที่ได้ก็จะเป็นแบบนี้ ….

Sub listItem()
Dim i As Long, myTargetRow As Long
For i = 3 To 18
myTargetRow = WorksheetFunction.Match(Range(“C” & i).Value, Range(“G:G”), 0)
Range(“H” & myTargetRow).Value = Range(“H” & myTargetRow).Value & “,” & Range(“B” & i).Value
If Left(Range(“H” & myTargetRow), 1) = “,” Then
Range(“H” & myTargetRow).Value = Mid(Range(“H” & myTargetRow).Value, 2, 100)
End If
Next i
End Sub

ก็จะเป็นอันเรียบร้อย

ขอให้สนุกกับการเรียน และใช้งาน Excel VBA กันทุกคนครับ

ใครมีคำถามอะไรเกี่ยวกับ Excel หรือ VBA ก็ลองถามเข้ามาดูกันครับ จะเอามาเฉลยให้ฟังกัน

———-//———-

👉#สำหรับผู้ที่สนใจเรียนVBAกับผม

– ทั้งสำหรับผู้ที่จริงจัง อยากเรียน VBA เพื่อเอาไปใช้งาน

– หรือ คุณเป็นคนที่อยากหนีตายเพราะเบื่องาน Excel แบบถึก ๆ หรือ เป็นคนที่มุ่งมั่น อยากพัฒนา ยกระดับความสามารถ ขีดมาตรฐานใหม่ให้กับงานของตัวเอง

#มาเจอกันครับ

#รีบสมัครมาได้เลย!!!

ทักมาที่ m.me/excelbypichart หรือ โทร. 099-084-2562

————//————

อ.ชาติ

Learn Excel With Pichart

Smart Excel For Better LIFE

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *