:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

การทำสรุปรายงานจากฐานข้อมูล

Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่

Post a reply


This question is a means of preventing automated form submissions by spambots.
Smilies
:D :thup: :cp: :flw: :rz: :sg: :tt: :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :ard: :arl: :aru: :| :mrgreen: :geek: :ugeek:

BBCode is ON
[img] is ON
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: การทำสรุปรายงานจากฐานข้อมูล

Re: การทำสรุปรายงานจากฐานข้อมูล

#7

by snasui » Thu Aug 16, 2012 6:31 pm

suthchayavee wrote:ขอบคุณนะครับ
แต่กรณีที่เพิ่มข้อมูลใหม่เรื่อยๆ เวลา GenReport แล้วมันมาไม่ครบ
มันมาเฉพาะของเดิม
:D ลองดู Code ตามด้านล่าง สำหรับคำว่า รวม และการจัด Format ลองเขียนดูเองก่อน ติดตรงไหนสามารถถามมาได้ครับ

Code: Select all

Sub GenReport02()
    Dim rCus As Range, rDtl As Range
    Dim rc1 As Range, rc2 As Range, rc3 As Range
    Dim rc As Range, rt As Range, rSum As Range
    Dim Lng As Long, iCount As Integer
    With Sheets("Table Customer")
        Set rCode = .Range("A2", .Range("A" & Rows.Count).End(xlUp))
    End With
    For Each rc In rCode
        With Sheets("Table Detail")
            iCount = Application.CountIf(.Range("A2", .Range("A" & Rows.Count).End(xlUp)), rc)
            Lng = Application.Match(rc, .Range("A2", .Range("A" & Rows.Count).End(xlUp)), 0) + 1
            If iCount > 0 Then
                Set rDtl = .Range("B" & Lng, .Range("E" & Lng + iCount - 1))
            End If
        End With
        Set rc1 = rc.Offset(0, 2).Resize(1, 4)
        Set rc2 = rc.Offset(0, 6).Resize(1, 3)
        Set rc3 = rc.Resize(1, 2)
        Set rt = Sheets("Trial").Range("M" & Rows.Count).End(xlUp).Offset(1, -12)
        rc1.Copy: rt.PasteSpecial xlPasteValues
        rc3.Copy: rt.Offset(0, 4).PasteSpecial xlPasteValues
        rc2.Copy: rt.Offset(0, 6).PasteSpecial xlPasteValues
        rDtl.Copy: rt.Offset(0, 9).PasteSpecial xlPasteValues
        Set rSum = rt.Offset(0, 12).Resize(iCount, 1)
        rt.Offset(0, 12).End(xlDown).Offset(1, 0) = Application.Sum(rSum)
    Next rc
End Sub

Re: การทำสรุปรายงานจากฐานข้อมูล

#6

by bank9597 » Thu Aug 16, 2012 3:40 pm

:D

Code: Select all

Set rSource = .Range("A2", .Range("M" & Rows.Count).End(xlUp))
ยึดที่ชีท Expect คอลัมน์ M ครับ หากข้อมูลในคอลัมน์นี้เพิ่มมาเท่าไหร่ เวลาดึงข้อมูลไปแสดงที่ชีท Trial ก็จะถูกต้องครับ

Re: การทำสรุปรายงานจากฐานข้อมูล

#5

by suthchayavee » Thu Aug 16, 2012 3:17 pm

ขอบคุณนะครับ
แต่กรณีที่เพิ่มข้อมูลใหม่เรื่อยๆ เวลา GenReport แล้วมันมาไม่ครบ
มันมาเฉพาะของเดิม

Re: การทำสรุปรายงานจากฐานข้อมูล

#4

by bank9597 » Thu Aug 16, 2012 1:37 pm

:D ลองปรับโค๊ดตามนี้ครับ

Code: Select all

Option Explicit
Sub GenReport()
    Dim rSource As Range
        With Sheets("Expect")
        Set rSource = .Range("A2", .Range("M" & Rows.Count).End(xlUp))
    End With
        Sheets("Trial").Range("A2:M100").Clear
        rSource.Copy
        Sheets("Trial").Range("A2").Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
End Sub
Attachments
Quotation.xlsm
(53.71 KiB) Downloaded 33 times

Re: การทำสรุปรายงานจากฐานข้อมูล

#3

by suthchayavee » Thu Aug 16, 2012 1:03 pm

ผมลองทำใน sheet:Trial แต่ทำแบบบันทึก macro ซึ่ง code ยาวมากๆ
อีกทั้งเมื่อฐานข้อมูลเปลี่ยนแปลงไปจะทำให้การ Gen Report มีปัญหา

ทั้งนี้ผมอยากให้เมื่อ Gen Report แล้วข้อมูลถูกดึงออกมาใน Format ที่ต้องการตาม sheet: Expect เลย
โดยไม่ต้องกังวลเมื่อมีการเพิ่ม/ลด/แก้ไข ข้อมูล๔กนำมาจัดอยู่ในรูปแบบที่ต้องการ
Attachments
Quotation.xlsm
(61.37 KiB) Downloaded 14 times

Re: การทำสรุปรายงานจากฐานข้อมูล

#2

by bank9597 » Thu Aug 16, 2012 12:21 pm

:D อยากให้บอกถึงปัญหาว่า ต้องการให้ทำอะไรที่ชีทไหน เซลล์ไหนครับ จะได้แทนสูตรได้รวดเร็วครับ

การทำสรุปรายงานจากฐานข้อมูล

#1

by suthchayavee » Thu Aug 16, 2012 11:55 am

เรียน ท่านสมาชิกฯ

ผมได้ทดลองทำไฟล์เพื่อเก็บข้อมูล โดยมี 3 sheet หลัก คือ Form, Table Customer, Table Detail
การนี้หากต้องการทำสรุปโดยนำข้อมูลจาก sheet : Table Customer, Table Detail มีรวบรวมไว้ในหน้าเดียว
ดัง sheet : Summary ตามไฟล์แนบ

ท่านสมาชิก พอจะแนะนำวิธีการทำให้ได้ไหมครับ
Attachments
Quotation.xlsm
(52.26 KiB) Downloaded 20 times

Top