ปรับรายงานเป็นฐานข้อมูล ด้วยVBA

ปรับรายงานเป็นฐานข้อมูล ด้วยVBA เขียนโค้ดง่าย ๆ ทำตามได้เลย ใคร ๆ ก็ทำได้

โจทย์วันนี้คือ ปรับรายงานเป็นฐานข้อมูล ด้วยVBA
🔸 มีรายงานการคีย์ยอดขายของเซลล์เข้ามา
🔸 ข้อมูลเป็นข้อมูลรายวันเรียงในแนวคอลัมน์
🔸 ต้องการปรับตารางให้เป็นรูปแบบฐานข้อมูล
🔸 โดยดึงมาเฉพาะวันที่มียอดขาย ถ้าไม่มียอดขายไม่ต้องเอามา

😅 แต่ปัญหาคือ…นั่งก้อปปี้ทีละรายการคงไม่ไหว
จะเขียนสูตรก็น่าจะยาก…

😇 งานแบบนี้ เขียน VBA ง่ายมาก ๆ

📍 วิธีคิดคือ…
1) Loop 2 ชั้น ไปที่พื้นที่ของตัวเลขเลย
2) กำหนด ตัวแปร 2 ตัว รับค่าบรรทัด และคอลัมน์
3) ใช้ If Statement ตรวจสอบดูว่าค่าใน Cell มากกว่า 0 หรือไม่
4) ถ้ามากกว่าก็ เอารหัสเซลล์ ที่อยู่คอลัมน์ A และ รายการสินค้าในคอลัมน์ B ไปวางที่ชีทฐานข้อมูลที่เตรียมไว้
5) ส่วนวันที่ ก็ เอาวันที่ที่อยู่ในบรรทัดที่3 ณ คอลัมน์ที่ j ที่ loop อยู่
6) ค่าที่เอาไปกรอก ก็จะเป็นค่าที่อยู่ที่ตำแหน่ง cells(i,j)

เท่านี้ก็จะได้ค่าทั้งหมดกรอกลงฐานข้อมูลเรียบร้อย

** ใช้เวลา รันโค้ด ไม่ถึง 1 วินาที **

ลองเขียนกันดูครับ

Sub UnPivotData()

Dim i As Long, j As Long, myTargetRow As Long

For i = 4 To 34
    For j = 3 To 32
        If Cells(i, j).Value > 0 Then
            myTargetRow = Sheet2.Range("A" & Rows.Count).End(xlUp).Row + 1
                Sheet2.Range("A" & myTargetRow).Value = Range("A" & i).Value
                Sheet2.Range("B" & myTargetRow).Value = Range("B" & i).Value
                Sheet2.Range("C" & myTargetRow).Value = Cells(3, j).Value
                Sheet2.Range("D" & myTargetRow).Value = Cells(i, j).Value
        End If
    Next j
Next i
MsgBox " F I N I S H "

End Sub

🔸 การเขียนโค้ด จริง ๆ แล้วมันไม่ได้พิศดารอะไรครับ
เพียงมีพื้นฐานที่ถูกต้อง เพียงพอ ก็สามารถทำงานได้สารพัด แล้วครับ

ลองดูครับ…
มาติดตามดูกันว่า VBA มันจะมีอะไรน่าสนใจ มาช่วยชีวิตเราได้บ้าง ครับ

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

รีบสมัครเลยนะครับ https://excelchannel.com/product/p-course-excel-vba/

👉 ไม่ว่าคุณจะเป็นคนที่อยากหนีตายเพราะเบื่องาน Excel แบบถึก ๆ หรือ เป็นคนที่มุ่งมั่น อยากพัฒนา ยกระดับความสามารถ ขีดมาตรฐานใหม่ให้กับงานของตัวเอง #มาเจอกันครับ
🔸 ปูพื้นฐานการเขียนโค้ด VBA ตั้งแต่เริ่ม
🔸 ไม่ต้องมีพื้นฐาน Coding มาก็เรียนรู้เรื่อง และเขียนโค้ดเองได้
🔸 ไม่ใช่การบันทึก macro แล้วปรับ ๆ แก้ ๆ แต่เรียนเขียนโค้ด VBA จริง ๆ
🔸 เรียนจบ รับเข้ากลุ่มปิด Facebook เพื่อสอบถามเรียนรู้เพิ่มเติม สามารถเรียนย้อนหลังได้ตลอด

👉 ติดต่อสอบถามเนื้อหาเพิ่มเติม หรือสมัครได้ที่ลิงค์นี้ m.me/excelbypichart หรือ โทร. 099-084-2562 / 082-663-9949
————//————

อ.ชาติ
Learn Excel With Pichart
Smart Excel For Better LIFE

excel #เรียนexcel #excelbypichart #excel_vba #สูตรExcel #เรียนฟรีVBA

ใส่ความเห็น

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