วันพฤหัสบดีที่ 20 มิถุนายน พ.ศ. 2556

กำหนดค่าให้กับ Cells ที่ต้องการ และ การคำนวณหาผลรวม การเคลียร์ค่าต่างๆที่ Cells via CommandButton

กำหนดค่าให้กับ Cells ที่ต้องการ และ การคำนวณหาผลรวม การเคลียร์ค่าต่างๆที่ Cells โดยสั่งงานผ่าน CommandButton Microsoft Excel เป็นโปร... thumbnail 1 summary


กำหนดค่าให้กับ Cells ที่ต้องการ และ การคำนวณหาผลรวม การเคลียร์ค่าต่างๆที่ Cells โดยสั่งงานผ่าน CommandButton
Microsoft Excel เป็นโปรแกรมตารางคำนวณที่ได้รับความนิยมสูงสุดในปัจจุบัน เพราะทำงานด้านการคำนวณได้อย่างเลิศเลอ Perfect อำนวยความสะดวกสบายให้กับคนทำงานด้านการคำนวณอย่างดีเยี่ยม นับตั้งแต่สมัยเมื่อ สิบกว่าปีที่แล้วที่มันยังเป็น Excel 97 อยู่ จนปัจจุบัน เป็น Vesion 2010 อย่างที่มีออกมาให้ใช้ทุกวันนี้  มันยิ่ง กว่า สุดยอดจริงๆ ทั้งเรื่องหน้าตาที่เปลี่ยนไป หล่อขึ้น กว่าเดิมเป็นกอง และ ฟังก์ชั่นที่เพิ่มเติมขึ้นมาอีกมากมาย รองรับ กับหลากหลายสาขา อาชีพ เช่น ฟังก์ชั่นด้าน สถิติ ด้านการเงิน ด้านวิศวกร ถึงแม้ว่าเราจะไม่ได้ใช้มันครบทุกฟังก์ชั่น แต่สำหรับคนที่ต้องอาศัยเครื่องมือคำนวณ อยู่บ่อยๆ  ก็ให้ลองนึกถึง Excel  ได้เลย ถ้าเราใช้มันเป็นรับรองได้ว่าไม่ผิดหวัง
เอาละมาว่าเรื่องที่จะนำเสนอ วันนี้ดีกว่า  วันนี้จะเสนอการใช้ vba ช่วยทำงานอีกเช่นเคย จริงๆเราก็สามารถทำสิ่งเหล่านี้ผ่าน Excel เลยก็ได้ โดยไม่ต้องใช้ VBA หรอก แต่ ก็อย่างว่าแหละ ก็อยากจะแสดงความสามาถของ VBA ให้ดูสักหน่อยว่ามันทำอะไรได้เยอะแยะมากมาย และบางทีตัวอย่างนี้อาจจะเป็นประโยชน์สำหรับใครหลายๆคน โดยเฉพาะมือใหม่ที่เพิ่งเริ่มเรียนรู้ชุดคำสั่งของ VBA ทุกๆคน
ตามที่ขึ้นหัวข้อไว้เลย  คือ เราจะใช้ VBA ให้ทำงานให้เราดังนี้
·      เมื่อกดที่ CommandButton1 จะให้พิมพ์ตัวเลขต่อไปนี้ในแต่ละCells  ดูภาพด้านล่างประกอบ
นั่นคือ เมื่อกดที่ ปุ่ม Set Value (CommandButton1) จะให้แสดง 23 ที่ช่อง a1 และ แสดง 24 ที่ช่อง a2
และ แสดง 25 ที่ช่อง a3 เป็นต้น


 


  • เมื่อกดที่ CommandButton2 (SUM) จะให้บวกค่าทั้ง3ช่องแล้วแสดงผลลัพธ์ที่ช่อง b4 และแสดงคำว่า Total ที่ช่อง a4 ดูภาพด้านล่างประกอบ

  • และเมื่อกดที่ปุ่ม CommandButton3(Clear All) จะให้เคลียร์ค่าทั้งหมดออกไป
ดูภาพด้านล่างประกอบ



เมื่อทราบสิ่งที่เราต้องการให้มันเกิดอย่างเป็นขั้นเป็นตอนแล้ว เราจะมาดูวิธีการทำโปรเจ็คนี้กันซิว่า มีขั้นตอนการทำงานอย่างไรบ้าง เริ่มเลย
·      เริ่มแรกเราก็เปิด Microsoft Excel ขั้นมา
·      ขั้นตอนต่อไป เมื่อ Microsoft Excel ปรากฏต่อหน้าเราแล้ว ก็
·      กด ALT+F11 เพื่อเข้าสู่ VBA
·      จากนั้น Insert Userform เข้ามา
·      จากนั้น นำ CommandButton ที่อยู่บน Toolbox มาวางบน Userform1  3 อัน
โดย ให้กำหนด
Properties  Caption ของ CommandButton1 =Set Value
กำหนด Properties Caption ของ CommandButton2 = SUM
กำหนด Properties Caption ของ CommandButton3=Clear All
·      Double Click ที่ปุ่ม CommandButton แต่ละปุ่มแล้วใส่ Code ต่อไปนี้ลงไป
Private Sub CommandButton1_Click() 'set value

Cells.Item(1, 1) = 23
Cells.Item(2, 1) = 24
Cells.Item(3, 1) = 25

End Sub

Private Sub CommandButton2_Click() 'SUM

Cells.Item(4, 1) = "Total"
Cells.Item(4, 2) = Cells.Item(1, 1) + Cells.Item(2, 1) + Cells.Item(3, 1)

End Sub

Private Sub CommandButton3_Click()'clear everything

Dim i As Integer
For i = 1 To 4
Cells.Item(i, 1) = ""
Next
Cells.Item(4, 2) = ""

End Sub

ใส่ Code หมดแล้วก็ กด F5 เพื่อสั่งให้โปรแกรมทำงานได้เลย
ลองฝึกปรือการกำหนดค่าในเซลล์ต่างๆที่นอกเหนือจากตัวอย่างนี้ดูก็จะเกิดความคล่องตัวมากขึ้น ลองดูน่ะ ไม่ยาก
จากภาพจะเห็นว่า เรากดแค่ปุ่มเดียว ค่า 23,24,25 ก็เข้าไปอยู่ใน Cells ที่กำหนดให้เลยพร้อมๆกัน ซึ่งส่งผลให้การทำงานเร็วมาก ถ้าเราป้อนเอง เราคงต้องพิมพ์ ทีละช่อง จนครบสามช่อง
ถ้าเราดัดแปลงโปรแกรมนี้สักหน่อยน่ะ ให้มันสามารถใส่ค่าใดๆที่ต้องการ ไปที่ช่องต่างๆของ Excel เป็นร้อยเป็นพันช่องภายใน Click เดียว ก็นับว่าสะดวกยิ่งนัก ลองดูน่ะจ๊ะ ช่วยย่นระยะเวลาในการทำงานได้ดีนักแล........:-)
อืมขออีกนิดหนึ่งน่ะ หากเรา
ลองเปลี่ยนคำสั่งจาก
Cells.Item(1, 1) = 23
Cells.Item(2, 1) = 24
Cells.Item(3, 1) = 25
เปลี่ยนเป็น
Cells.Item(1, 1) = Rnd() * 100
Cells.Item(2, 1) = Rnd() * 100
Cells.Item(3, 1) = Rnd() * 100
แล้วกด ปุ่ม Set Value เรื่อยๆ เลขมันก็จะสุ่มออกมาแสดงเรื่อยๆเลย.. วันนี้พอแค่นี้ก่อนแล้วกันแล้วเจอกันใหม่จ๊ะ