Page 1 of 1

สอบถามการใช้ Worksheet_Change

Posted: Tue May 21, 2013 8:17 pm
by snoopy1150
เรียน ทุกท่าน ครับ :D :D :D

คือผมได้ลองทำ Report ขึ้นมาตัวหนึ่งซึ่งผูกด้วยสูตร และได้เอา Vba เข้ามาช่วย แต่ติดปัญหา ตรง Worksheet_Change ครับ

อธิบายเพิ่มเติม
คือตัว Report ผม มีการดึงข้อมูลทั้งหมด 4 อย่าง คือ Daily Weekly Month Year ครับ

ซึ่งทั้ง 4 ตัวนี้ใช้ Form เดี่ยวกัน แต่เลือกข้อมูลเอาครับ

ผมจึงอยากถามว่า ถ้าสมมุติว่า ให้ A1 เป็น Daily ถ้าเปลี่ยนวันที่ก็ให้มาโครที่เราเขียนไว้ทำงาน
A2 เป็น Weekly ถ้าเลือก Weekly อื่น ก็ให้มาโครที่เราเขียนไว้ทำงาน เช่นกันครับ

รบกวนด้วยครับ

:shock: :shock: :shock:

ทั้งนี้ผมได้แนบไฟล์ตัวอย่างมาด้วยครับ

Re: สอบถามการใช้ Worksheet_Change

Posted: Tue May 21, 2013 9:06 pm
by snasui
:D ลองนำ Code ด้านล่างไปวางที่ชีท Performance

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)
    Select Case Target.Address
        Case "$B$1": Call Daily.Daily
        Case "$B$2": Call Daily.Weekly
        Case "$B$3": Call Daily.Month
        Case "$B$4": Call Daily.Year
    End Select
End Sub
นอกจากนี้ในทุก ๆ Procedure ให้ครอบด้วย Code ตามด้านล่างครับ เช่น Procedure Daily (คำว่า 'Your code คือ Code เดิม) เพื่อระงับการดักจับ Event ขณะ Run Code ทำให้ Code Run เร็วขึ้น

Code: Select all

Sub Daily()
   Application.EnableEvents = False
   'Your code
   Application.EnableEvents = True
End Sub

Re: สอบถามการใช้ Worksheet_Change

Posted: Tue May 21, 2013 9:26 pm
by snoopy1150
เรียน คุณ คนควน ครับ

ขแบคุณมากครับ สำหรับ คำสอนและคำแนะนำครับ


:P :P :P