Page 1 of 1
สอบถามเรื่อง การสั่งรันมาโคร
Posted: Wed May 16, 2018 11:41 am
by sosadboy
ตอนนี้ผมใช้ปุ่มในการสั่งรันมาโคร ซึ่งตัวมาโครเป็นการกรองข้อมูลในตารางตามที่กำหนด ซึ่งมีการกรองข้อมูลหลายแบบ ทำให้ต้องสร้างปุ่มสั่งรันมาโครหลายปุ่มมาก ผมเลยอยากทราบว่าสามารถกำหนดให้มาโครรันตามค่าที่เปลี่ยนแปลงไปในเซลล์ๆ หนึ่งได้หรือไม่ครับ และเซลล์ที่ข้อมูลเปลี่ยนแปลงดังกล่าวผมสามารถทำให้อยู่ในรูปแบบของ Drop down list ได้หรือไม่ครับ
Re: สอบถามเรื่อง การสั่งรันมาโคร
Posted: Wed May 16, 2018 12:29 pm
by sosadboy
ได้แล้วครับ พอดีหาในเว็ปเจอ ตอนแรกไม่ได้เพราะไปสร้างโมดูลใหม่ ต้องไปคลิ๊กที่ชื่อ sheet ที่ต้องการถึงรันได้
ตัวอย่างโค๊ดครับเผื่อมีคนสนใจ
Code: Select all
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
Re: สอบถามเรื่อง การสั่งรันมาโคร
Posted: Wed May 16, 2018 12:59 pm
by sosadboy
ในทำนองเดียวกันถ้าเปลี่ยนจากdrop down list เป็น combo box สามารถทำได้หรือไม่ครับ
Re: สอบถามเรื่อง การสั่งรันมาโคร
Posted: Wed May 16, 2018 6:54 pm
by snasui

ทำได้ครับ ลองปรับ Code ดูก่อนติดตรงไหนค่อยแนบไฟล์นั้นพร้อม Code มาถามกันต่อครับ
Re: สอบถามเรื่อง การสั่งรันมาโคร
Posted: Thu May 17, 2018 12:00 pm
by sosadboy
ทำเองได้แล้วครับแต่ติดปัญหาตรงที่ ต้องการเพิ่ม ComboBox จากอันเดียวเป็น 2 อันต้องเพิ่มโค๊ดยังไงครับ เพราะผมลองเพิ่มแล้วมัน Error ตอนรันมาโครบางตัวครับ ส่วนนี่เป็นโค๊ดที่ใช้อยู่ครับ
Code: Select all
Private Sub Workbook_Open() 'ส่วนนี้อยู่ใน Workbook
With Worksheets("ตัดสรุป").ComboBox1
.Clear
.AddItem "ตัดสรุปอวนข่ายรุมใน"
.AddItem "ตัดสรุปอวนข่ายรุมนอก"
.AddItem "ตัดสรุปอวนมองปิว"
.AddItem "ตัดสรุปอวนผ้าส่อน"
.AddItem "ตัดสรุปอวนติดตะกั่ว"
End With
End Sub
Code: Select all
Private Sub ComboBox1_Change() 'ส่วนนี้อยู่ใน Worksheets(ตัดสรุป)
Application.Run Worksheets("ตัดสรุป").ComboBox1.Value
End Sub
Re: สอบถามเรื่อง การสั่งรันมาโคร
Posted: Thu May 17, 2018 7:14 pm
by snasui

ต้องการการเพิ่ม ComboBox จากอันเดียวเป็น 2 อันแล้วติดขัดตรง ComboBox อันไหน อย่างไรอธิบายประกอบด้วยครับ