snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ตอนนี้ผมใช้ปุ่มในการสั่งรันมาโคร ซึ่งตัวมาโครเป็นการกรองข้อมูลในตารางตามที่กำหนด ซึ่งมีการกรองข้อมูลหลายแบบ ทำให้ต้องสร้างปุ่มสั่งรันมาโครหลายปุ่มมาก ผมเลยอยากทราบว่าสามารถกำหนดให้มาโครรันตามค่าที่เปลี่ยนแปลงไปในเซลล์ๆ หนึ่งได้หรือไม่ครับ และเซลล์ที่ข้อมูลเปลี่ยนแปลงดังกล่าวผมสามารถทำให้อยู่ในรูปแบบของ Drop down list ได้หรือไม่ครับ
Sub worksheet_change(ByVal target As Range)
Set target = Range("C1") 'เซลล์ที่มีการเปลี่ยนแปลงค่า(ทำเป็น drop down list)
If target.Value = "ตะกั่ว/ลูกแห/ยางทุ่น/ลูกลอย" Then 'ถ้าค่าตัวแปรเท่ากับ...
Call ตะกั่วลูกแหยางทุ่นลูกลอย 'ให้รันมาโครชื่อ ...
End If
If target.Value = "ด้ายรุ่นหลอด" Then
Call ด้ายหลอด
End If
If target.Value = "ด้ายรุ่นไจ(อวนใน)" Then
Call ด้ายไจอวนใน
End If
If target.Value = "ด้ายรุ่นไจ(อวนนอก)" Then
Call ด้ายไจอวนนอก
End If
If target.Value = "Dead Stock" Then
Call deadstock
End If
If target.Value = "ดูทั้งหมด" Then
Call รวมวัสดุทั้งหมด
End If
End Sub
Private Sub Workbook_Open() 'ส่วนนี้อยู่ใน Workbook
With Worksheets("ตัดสรุป").ComboBox1
.Clear
.AddItem "ตัดสรุปอวนข่ายรุมใน"
.AddItem "ตัดสรุปอวนข่ายรุมนอก"
.AddItem "ตัดสรุปอวนมองปิว"
.AddItem "ตัดสรุปอวนผ้าส่อน"
.AddItem "ตัดสรุปอวนติดตะกั่ว"
End With
End Sub