บทท่ี 5 การเขยี นโปรแกรมใน Excel การเขียนโปรแกรมใน Microsoft Excel เปนการนําเอา Utilities ของโปรแกรมขึ้นมาใชงาน ซ่ึงเราเรียก คุณสมบัตินี้วา VBA หรือ Visual Basic for Applications ที่ใชในการเขียนโปรแกรมประยุกตของ Windows และ รวมอยูในโปรแกรมประยกุ ตของ Microsoft หลายโปรแกรม การเอา VBA มาชวยในการทาํ งาน จะทาํ ใหง านเสรจ็ เรว็ ข้ึน การเขียนโปรแกรมดวย VBA ตองกระทําผานหนาตางวิชวลเอดิเตอร (Visual Basic Editor: VBE) จึง จําเปน อยางยิง่ ท่ีตองทําความรจู กั กบั หนาตางวชิ วลเอดเิ ตอรเ สยี กอน 5.1 การเรียนใชงานหนาตางวชิ วลเบสิกเอดเิ ตอรเพื่อพฒั นาโปรแกรม วธิ ที ี่ 1 ไปทเ่ี มนูบาร เครือ่ งมือแมโคร Visual Basic Editor หรอื Alt+F11 วธิ ที ่ี 2 ไปที่เมนบู าร นกั พฒั นา (Developer) วิธที ี่ 3 ไปท่ี Tab Sheet ดานลาง คลิกขวาคลกิ แสดงรหสั 82
5.2 This is your first VBA programmer เร่ิมตน กับโปรแกรมแรกกนั เลย โดยมมี แี นวคดิ วาจะทําการสราง Message box pops up พรอมกบั คําวา “Hello World!\" เปน การทักทาย กนั กอ น 1. ไปทเี่ มนูบาร เครอื่ งมอื แมโคร Visual Basic Editor หรือ กด Alt+F11 เขาสูหนาตาง VBA 2. คลกิ Insert Module อธบิ าย การพฒั นาตอ งแทรกแผน โมดลู (Module) กอ น แลว จึงเขยี น Code 3. In the Module window, type the following: Sub showMessage() MsgBox \"Hello World!\" End Sub 83
4. คลิก Run Run Sub/UserForm หรอื กด F5 84
5. The message box pops up with the \"Hello World!\" greeting. 6. บันทึก ช่ือ message.xls ไดรฟ D:\\ 7. การเรียกใชง าน การเรียกใชง าน อาจถกู ปอ งกนั โดย หนวยรักษาความปลอดภัยของ Microsoft ใหป ฏบิ ัติดงั น้ี 1. ไปทเี่ มนบู าร เครื่องมือ แมโคร ความปลอดภัย 2. ปรากฏหนาตา ง ความปลอดภยั ดงั รูป ท่ี Tab ระดบั ความปลอดภัย คลกิ ตวั เลือก ปานกลาง ดงั รปู (ระดบั ปานกลางการปองกนั จะมคี าํ เตือนทุกครง้ั ที่มกี ารใชง าน) 85
5.3 หลกั การเขยี นโปรแกรม Visual Basic for Application (VBA) การเขยี นโปรแกรม VBA คลายกับการเขียนโปรแกรม Visual Basic กค็ อื 1. การใชคอนโทรล (Controls) ในการออกแบบ อินเทอรเฟส (Interface) 2. การกาํ หนดคุณสมบัติ (Properties) ใหก บั วตั ถุ (Object) 3. การเขยี นโปรแกรมผาน VBA 1. Controls ใชออกแบบ Interface ช่ือคอนโทรล หนาท่กี ารทํางาน Select Object สลบั ระหวา ง เมาสปรกติ กบั คลิกเลือกวัตถุ แสดงขอความ คาํ อธิบายบนฟอรม Label TextBox ชองกรอกขอ มลู เพื่อ รบั ขอมลู จาก user ComboBox Dropdown List รายการใหเ ลอื ก ListBox แสดงรายการ เพือ่ คลิกเลอื ก CheckBox ปุม ตัวเลอื ก สรางกี่ตวั ก็ได OptionBox ปุมตัวเลือก เลือกไดเ พียง 1 ตวั Frame กรอบจดั กลุม คอนโทรล/ปุม CommanBotton ปุมคําสง่ั เขียน Code สั่งโปรแกรมทํางาน Scrollbar แถบเลอ่ื น เพ่อื ดูขอ มูลถัดไป PictureBox ปมุ ดึงรูปภาพมาแสดงบนฟอรม 2. การกําหนดคุณสมบตั ิ (Properties) ใหกบั วัตถุ (Object) คอนโทรลทุกตวั รวมถึงฟอรม เปนวตั ถุ ซึ่งมคี ณุ สมบตั ใิ นตวั เอง เชน Name, Caption, Font, Methods และ Events “แลวมคี ุณสมบตั ไิ ปเพ่อื อะไรละ คะ ” น่ีคือคําถามของ ผูเรม่ิ ตนเขียนโปรแกรม ขอยกตัวอยางเลยนะคะ ตวั อยาง 1 ถา ตองการสราง UserForm ทีอ่ อกแบบใหมีรปู รา งหนา ตา ดงั รูป จะตองกาํ หนดคุณสมบตั อิ ะไรบา ง ขัน้ ตอนการกาํ หนดคณุ สมบตั ิ 1. สรา งฟอรม ข้ึนมากอ น ท่ีหนา ตา ง VBE Insert UserForm 2. ปรากฏฟอรมข้ึนมา มีชอื่ วา UserForm1 3. คลิกท่ี ฟอรม ใหเ กิดเปน กรอบส่เี หลย่ี มตรงมุม ลอมรอบ ฟอรม 4. ดานซา ยมือ จะพบกับ Properties ของฟอรม สังเกตจาก ชอง(Name) | UserForm1 เปนการระบวุ า นี่ คอื Properties ของฟอรม UserForm1 กรณีทมี่ ีการสรางฟอรมหรือคอนโทรลมากกวา 1 ตอ งสงั เกต จาก ชอง (Name) เปน สําคัญ วา ตรงกับ วตั ถุ ท่ีเราตองการกาํ หนดคณุ สมบัตหิ รอื ไม 86
3. การเขียนโปรแกรมผา น หนา ตาง VBE (Visual Basic Editor) การเปดหนาตาง VBE เพื่อเขียน Code คําสง่ั ใหกับ วตั ถุ (Object) 1. Double Click ที่ วัตถุตวั นั้น เชน UserForm1,ปุม (Command) 2. ปรากฏ หนา ตาง VBE เพอื่ เขียน Code ใหก บั วตั ถทุ ี่ไดท ําการ Double Click 3. ในหนาตา งจะพบกบั ประโยค 2 บรรทัด Private Sub ช่ือวตั ถุทตี่ อ งเขียน Code_เหตกุ ารณ () เขียน Code End Sub ตัวอยา ง 2 เมอื่ มีการ Double Click ที่ ปุม CommandButton1 บน Form 87
สวนประกอบของหนา ตาง VBE 2 สวน ดังนี้ สว นที่ 1 รายชื่อ Object ทอ่ี ยบู น ฟอรม ทงั้ หมด รวมถงึ Useform ดวย สว นที่ 2 เหตกุ ารณ (Event) ท่เี กดิ กับ Object เชน การคลิก, Enter, DblClick ทาํ ความรจู กั กบั Methods เมธอด (Methods) ใชก ําหนดการทาํ งานหรือเพิม่ ความสามารถใหกับ Object เชน เมือ่ มเี หตกุ ารณคลิก เกดิ ข้ึนกับปุม ปุม มคี วามสามารถทําการปด Form, ปุมมีความสามารถขยายใหญขนึ้ และเล่ือนขึ้นไปขางบนของ ฟอรม ฯลฯ ตัวอยา งท่ี 3 การเรยี กใช เมธอด (Methods) เพ่ือกําหนดความสามารถใหกบั ปุม (Command) เพอื่ ทําการส่งั การ ไปทเี่ มนบู าร เครือ่ งมือแมโคร Visual Basic Editor หรือ กด Alt+F11 เขา สูหนา ตา ง VBA 1. คลิก Insert UserForm ปรากฏ UserForm1 2. กําหนด Properties ใหกบั Form และสรางปุม (Command) ดังรูปตอ ไปนี้ 88
3. Double Click ท่ี ปมุ CommandButton1 ปรากฏหนาตาง VBE 4. พิมพข อ ความตามรูปภาพดงั นี้ 6. คลิกเครอื่ งหมาย Run Toolbar หรือ F5 เพ่ือดผู ลงาน ในระหวางการพิมพ Code เม่อื มกี ารใชเครอ่ื งหมาย จดุ (.) จะปรากฏ เมธอด (Methods) เพื่อกาํ หนดการ ทํางานของปมุ CommandButton1 ดังรปู จะเหน็ ได เมธอด มกี ารทาํ งานไดหลายรูปแบบแลวแตเราจะทาํ การกําหนด ในตัวอยางน้ี ใหเลอื กเมธอด เปน Move เพ่อื เลอื่ น ปมุ ไปมาได โดยการ Double Click เพือ่ เลอื กรายการดังกลาว จากนัน้ จะปรากฏรูปแบบแนะนํา การกําหนดคาให ปมุ (Command Button) วิ่งไปทางไหนดี ใหท าํ การกําหนดคา ใหก ับ เมธอด 89
5.4 การสรา งฟอรมและการเขียนโปรแกรม VBA ตัวอยางที่ 4 สรา งโปรแกรมการกรอกขอ มลู ใหกับ Excel โดยผา น Form ท่เี ขียนจาก VBA ขั้นตอนการปฏบิ ตั ิ 1. สรางตาราง และ ออกแบบตาราง ดังนี้ (อยา ลืม Save นะคะ ตง้ั ชือ่ วา D:\\ BookSystem) 2. เรียก เคร่อื งมือ Visual Basic ออกมาแสดง บน Toolbar วิธีเรียก เครอ่ื งมอื 2.1 ไปท่ีเมนบู าร คลกิ แถบเคร่ืองมือ Visual Basic คลกิ ที่ Icon VBE : Visual Basic Editor 3. เขา สู Windows ของ VBA เม่อื เขาสู หนา ตาง ของ VBA ใหส ํารวจเครื่องมอื ดังน้ี Project Explorer, Properties, Toolbox มหี รอื ไม กรณไี มม ี Toolbox ที่ใชใ นการออกแบบ Form สืบเน่อื งจาก ตองอยูในหนาตาง Form เสยี กอ น 90
4. สราง UserForm ใหม ไปท่เี มนูบาร คลกิ เลอื ก Insert Userform ปรากฏหนา ตาง UserForm1 ใหม 5. ออกแบบ UseForm1 ดงั รปู 6. กาํ หนด คณุ สมบตั ิ ใหกับ คอนโทรล ดงั นี้ คอนโทรล พร็อพเพอรต้ี คา ทกี าํ หนด TextBox1 Name txtID TextBox2 Name txtNameB TextBox3 Name txtNameT CommandButton1 Name cmdAdd Caption เพิ่มขอมลู CommandButton2 Name cmdClear Caption ลา งหนาจอ CommandButton3 Name cmdClose Caption ปด หนา ตา งฟอรม UserForm1 Name frmbook Caption ขอมูลหนงั สอื เมื่อกําหนดคณุ สมบัตจิ นครอบ หนา ตา Form เปน ดงั น้ี 91
5. เขยี น Code คําสั่ง เพอื่ ควบคมุ การทาํ งานดงั นี้ 7. เม่ือทุกอยา งเรยี บรอยแลว ทดลอง Run ดนู ะคะ 7.1 กรอกขอมูลใน TextBox ตามรปู คลิกปมุ เพ่ิมขอ มูล ขอ มูลจะวิ่งไปปรากฏที่ตาราง Excel 7.2 คลิกปุมลางหนาจอ หนา จอที่กรอกจะถูกลางออก 7.3 คลกิ ปุมปด ฟอรม ฟอรม จะถกู ปด 92
หากปรากฏ กลอ งขอความ ดังกลาวแสดงวา มกี ารอางขอมลู ไมถ ูกตอ ง, พมิ พผ ิด, มกี ารพมิ พ Method เอง 8. สรางปุม เพื่อเรียก ฟอรม ขอ มูลหนังสอื ข้ึนมาใช 1. เรยี กเครอ่ื งมอื ที่ช่ือวา ฟอรม ขึ้นมาแสดงที่ Toolbar โดยไปทเี่ มนบู าร เลอื ก มมุ มอง 2. คลิก ปมุ แลว ลากใหไดดงั รูป แกไ ขขอความ โดย คลิก ขวาที่ ปมุ 93
4. คลกิ ขวา ท่ีปุม คลกิ กรอกขอ มูล กําหนดแมโคร 5. ปรากฏหนา ตา ง กําหนดแมโคร ดงั รูป ใหค ลิก ปุม สราง 6. ในตาง Module1 พิมพ Code ตามรปู 6. ทดลอง Run เลย 94
ทดสอบความเขาใจตง้ั แตเ ร่ิมตน กําหนดใหน ักศกึ ษา วาง Mind Map สง ภายใน 1 หนากระดาษ 95
5.4 การใชฟ ลเตอร (Filter) เพือ่ คน หา การคน หาขอมลู ที่ตอ งการในฐานขอมลู ของ Excel ทม่ี ีหลายรอยหลายพันบรรทดั เพือ่ นํามาใชใ นการ ตัดสินใจหรือทาํ รายงานสง ผูบ ริหาร คงไมง ายหากปราศจากเคร่ืองมอื อยา งฟล เตอร หรือตัวกรอง การสง่ั ใหต ารางขอมลู แสดงเฉพาะขอมูลทต่ี องการตามเง่อื นไข เรียกวา “การกรอง” หรอื “ฟลเตอร” ไมต อ ง ใชวิธีมองหาขอ มูลท่ีตอ งการจากตารางขอมูล เมือ่ พบขอ มูลทตี่ องการแลวจะนําไปทาํ รายงานกม็ านัง่ Copy ไปวาง Paste ใน Work Sheet ใหมซ งึ่ จะเสยี เวลามากและผิดพลาดสูง Excel มเี ครือ่ งมือตวั กรอง (Filter) เพือ่ ใชในการคน หาขอ มูล แลว แสดงเฉพาะขอมลู เฉพาะทตี่ องคน หา เทา น้ัน และสามารถ พมิ พแ ละจดั ทาํ รายงานไดเ ลย ฟล เตอร (Filter) หรือตวั กรองขอมูล คอื อะไร? การคนหาและแสดงเฉพาะขอมูลทต่ี องการ เรยี กวา “การกรองขอมลู ” โปรแกรม Excel จะกรองขอ มูล ออกมา ในรูปแบบของตาราง Excel หนา ตาของตวั กรอง เปนดังรูปตอ ไปน้ี ตวั กรอง เพือ่ คน หาขอมลู ตัวกรอง ถูกคลิก แสดงรายการใหเ ลือก ดงั รปู 96
5.5 การสรางตวั กรองขอมลู และการใชงาน เมื่อมกี ารสรางตัวกรองใหก ับตารางขอ มลู แลว กส็ ามารถ Update ขอ มูลเพมิ่ ไดเ รื่อย ๆ ไดต ามปรกติ และ ตัว กรองขอมูล สามารถคน หาขอมูลทเ่ี พมิ่ เขา ไปไดเ ลยทันที ขัน้ ตอนการสรางตวั กรองขอ มูล 1. คลิกเลือกเซลลท่เี ปน ชื่อคอลมั น ทต่ี อ งการคน หาขอ มูล 2. ไปทเ่ี มนบู าร คลิกขอ มูล ตัวกรอง ตัวกรองอัตโนมัติ 3. ปรากฏปุมตัวกรอง ที่หวั คอลมั นข นึ้ มาทันที 4. คลกิ ทปี่ มุ ตวั กรอง จะปรากฏรายการใหเ ลอื ก ในตวั อยางทผี่ า นมา คลิกทปี่ ุมตวั กรอง ที่มีช่ือคอลัมนคํานาํ โดยมรี ายละเอยี ดดงั นี้ การยกเลกิ การกรองและปดการใชง านตวั กรอง 1. เซลลค อลัมนไหนทไี่ มต อ งการกรองขอ มลู คลิกเลือกเซลลคอลมั นนัน้ (หากไมต อ งการท้ังหมด กไ็ มตอ งคลิกเลือกอะไร) 2. ไปที่เมนูบาร คลิกขอมูล ตัวกรอง ตัวกรองอัตโนมตั ิ เอาเครื่องถูกออก 3. ตวั กรองจะหายไปอตั โนมตั ิ ทดลองใชงานตัวกรอง ตวั อยางที่1 คน หาชอ่ื นักศกึ ษา ทีม่ อี ักษร ก นาํ หนา 1. คลิกปุมตวั กรองท่ี คอลัมน ช่ือ กําหนดเอง.... 97
2. ปรากฏ หนาตา ง ตัวกรองอตั โนมตั ิทีก่ ําหนดเอง 3. พิมพข อความตามรูปตอ ไปนี้ 4. คลิก ตกลง จะไดผ ลลพั ธต ามรูป คอื แสดงขอ มลู เฉพาะชื่อที่นําหนา ก (เคร่อื งหมาย * อกั ษรใดๆ) การใชส ญั ลักษณใ นการคนหาขอมูล สญั ลักษณ ? แทนอกั ษร หนงึ่ ตัว สญั ลกั ษณ * แทนกลมุ ตัวอักษรใด ๆ รปู แบบการใช 1. ?ก* หมายถงึ ขนึ้ ตนดว ยอกั ษรอะไรก็ได 1 ตวั อกั ษร แตอักษรตัวที่ 2 ตองเปน ก เครอื่ งหมาย * หลัง ก เปน กลุม อักษรใด ๆ 2. ส*ก หมายถงึ ข้ึนตน ดวย ส ตามดวยกลุมตัวอักษรอะไรก็ได แต ตองลงทา ยดวย ก 3. ??*A หมายถึง ..................................................................................................................... .................................................................................................... ....................... 4. ว????ส หมายถงึ ................................................................................................................ ............................................................................................................................ 98
ตัวอยางท่ี 2 การคน หาขอมูลคดั คาทีซ่ ้ําออก โดยมีขอมลู ดงั รปู นี้ 1. เลอื ก เซลลเปาหมายท่ีตอ งการกอน ในท่นี ้ี เลอื ก คอลัมนท่ีชื่อ วนั เดอื นปเกิด 2. ไปท่เี มนูบาร เครือ่ งมือ ตวั กรอง ตวั กรองขนั้ สูง 3. ปรากฏหนา ตาง ตวั กรองข้ันสงู ใสเ คร่อื ง เฉพาะระเบยี นท่แี ตกตา งเทานั้น คลกิ ตกลง 4. ผลลพั ธทไ่ี ด 99
แบบฝกหัด ท่ี 1 บริษัทแหง หนงึ่ มีการเก็บขอมลู ลูกคา ใน ตาราง Excel ดังนี้ 1. Name 7. Street Address 2. City 8. State 3. Postcode 9. Country 4. Email 10. เบอรโทรศัพท 5. เบอรม อื ถือ 11. ชอื่ ผูท ตี่ ดิ ตอ ได 6. เบอรผทู ่ตี ดิ ตอได 12. ท่ีอยขู องผตู ิดตอ ได การบนั ทึกขอ มูลดงั กลาวจะทาํ การบันทึกลงใน Excel ซึ่งเกดิ ความยงุ ยากมาก ไมส ามารถ คนหาขอ มลู ใน ตาราง Excel ไดเ ลย ในฐานะที่นักศึกษาไดศ ึกษาจบสาขาคอมพิวเตอรธ ุรกิจ นกั ศึกษาจะทาํ อยางไร คําสัง่ ทําเด่ียว 1. เขียนโปรแกรมสง เปน ไฟล 2. จดั ทําเปน รายงาน แบงเปน บท ๆ ดงั นี้ บทที่ 1. บทนาํ บทที่ 2. ทฤษฎีทีเ่ กย่ี วของ บทท่ี 3. วธิ ีการดําเนินงาน บทที่ 4. สรปุ เสนอแนะ 3. รายงานหนา ชั้นเรยี น 100
แบบฝกหัดที่ 2 สง แผน Disk มานะคะ 101
102
. คําส่งั โดยแบงเปน 3 Sheet ออกแบบใหส วยงามและ จดั ทาํ งบประมาณโดยใชส ูตร ฟง กช นั ท่เี รียนมา 1. งบแสดงฐานะเงนิ สด 2. งบเงินสะสม 3. งบทรัพยส นิ 103
Search
Read the Text Version
- 1 - 22
Pages: