วันพุธที่ 18 กรกฎาคม พ.ศ. 2555

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

ภาพตัวอย่างข้อมูลที่ต้องส่งให้ลูกค้า

Customer

เราสามารถนำ VBA มาช่วยจัดการในการจัดเก็บข้อมูลเป็นรายลูกค้าเก็บลงที่ Drive D: โดยมีวิธีการดังนี้

  1. ที่เซลล์ E1 คีย์
    =C1 Enter เป็นการดึงค่า C1 มาใช้
  2. ที่เซลล์ F1 เขียนสูตร
    =SUMPRODUCT(1/COUNTIF(C2:C22,C2:C22))
    Enter เพื่อนับจำนวนลูกค้าโดยไม่รวมค่าซ้ำ
  3. จากนั้นกดแป้น Alt+F11 เพื่อเปิดหน้าต่าง VBE และเขียน Code VBA ตามด้านล่างใน Module ปกติ
     
    Option Explicit

    Sub SeparateFile()
    Dim fName As String, i As Integer
    Dim wbs As Workbook, Nwbs As Workbook
    Set wbs = ActiveWorkbook
    With Application
    .ScreenUpdating = False
    .DisplayAlerts = False
    wbs.Sheets("Sheet1").Range("E3", Range("E" & Rows.Count)) _
    .ClearContents
    wbs.Sheets("Sheet1").Range("C:C").AdvancedFilter Action:=xlFilterCopy, _
    CriteriaRange:="", CopyToRange:=Range("E3"), Unique:=True
    For i = 1 To Range("F1").Value
    Range("E2") = Range("E4", Range("E" & Rows.Count).End(xlUp))(i)
    Set Nwbs = Workbooks.Add
    wbs.Sheets("Sheet1").Range("A:D").AdvancedFilter _
    Action:=xlFilterCopy, CriteriaRange:=wbs.Sheets( _
    "Sheet1").Range("E1:E2"), CopyToRange:=Range("A1")
    fName = Range("C2")
    ChDir "D:\"
    Nwbs.SaveAs Filename:="D:\" & fName
    MsgBox fName & " Save already"
    Nwbs.Close
    Next i
    .ScreenUpdating = True
    End With
    End Sub
  4. กดแป้น Alt+Q เพื่อกลับมายัง Excel 
  5. กดแป้น Alt+F8 > เลือก SeparateFile > Run

ภาพตัวอย่างการใช้งาน


SeparateFile
Posted by netdesign On 07:36 1 comment

1 ความคิดเห็น:

  1. ไม่ระบุชื่อ30 มีนาคม 2565 เวลา 07:30

    Microsoft Excel Tips And Tricks: การบันทึกข้อมูลแยกรายลูกค้าด้วย Vba ~ ซ่อมคอมพิวเตอร์นอกสถานที่ รามคำแหง ลาดพร้าว บางกะปิ >>>>> Download Now

    >>>>> Download Full

    Microsoft Excel Tips And Tricks: การบันทึกข้อมูลแยกรายลูกค้าด้วย Vba ~ ซ่อมคอมพิวเตอร์นอกสถานที่ รามคำแหง ลาดพร้าว บางกะปิ >>>>> Download LINK

    >>>>> Download Now

    Microsoft Excel Tips And Tricks: การบันทึกข้อมูลแยกรายลูกค้าด้วย Vba ~ ซ่อมคอมพิวเตอร์นอกสถานที่ รามคำแหง ลาดพร้าว บางกะปิ >>>>> Download Full

    >>>>> Download LINK

    ตอบลบ

Onsite computer repair Ramkhamhaeng.














รับซ่อมคอมพิวเตอร์นอกสถานที่ รามคำแหง บางกะปิ นวมินทร์ เสรีไทย


ค่าแรง+ค่ารถ+ลงwinodws+โปรแกรมดูหนังฟังเพลง+office+antivirus 400 บาท
ปล. ให้บริการ เฉพาะเขตพื้นที่ รามคำแหง บางกะปิ นวมินทร์ เสรีไทย ลาดพร้าวเฉพาะ บริเวณ จากเดอะมอลบางกะปิถึงโชคไชย4


สนใจติต่อ : Tel. 083-792-5426





ดูแผนที่ขนาดใหญ่ขึ้น


  • RSS
  • Delicious
  • Digg
  • Facebook
  • Twitter
  • Linkedin
  • Youtube

ป้ายกำกับ

คลังบทความของบล็อก

Advertisement

Unordered List