แนวคิด ปรับปรุงงาน excel ให้มี...

36
แนวคิด _ ปรับปร งงาน Excel ให้มี ประสิทธิภาพมากขึ #นด้วย … VBA and Pivot Table

Upload: others

Post on 21-Sep-2019

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

แนวคดิ _ ปรับปรุงงาน Excel ให้มีประสิทธิภาพมากขึ#นด้วย …

VBA and Pivot Table

Page 2: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Functions VBA

Pivot Table Chart

Excel

Page 3: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Functionsสูตรสาํเร็จรูปที� Microsoft เตรียมไวใ้หเ้ราใช้หรือ เราสามารถสร้างขึ(นมาเองกไ็ด้เหมาะสาํหรับการการทาํขอ้มูลแบบเร็ว และวิธีการเปลี�ยนบ่อย

ขอ้เสีย : คนที�มาทาํต่อจะตอ้งมีความเขา้ใจเรื�องสูตรพอสมควร

Page 4: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

VBAชุดคาํสั�งของ VB ที�อยู่ใน Excel เพื�อให ้Excel ทาํงานอย่างที�เรา

ตอ้งการได้ ใชส้าํหรับงานซํ(าๆ ใชเ้วลางานๆ ซึ� งจะช่วยประหยดัเวลาไดม้หาศาลขอ้เสีย : คนที�จะพฒันาต่อตอ้งมีความรู้เรื�อง VBA (ซึ�งไม่ยากมาก แต่คุม้ที�จะเรียนรู้)

Page 5: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Pivot Tableเป็นการสรุปขอ้มูลแบบเร็วๆ และมีความยืดหยุ่นในการเปลี�ยน

ค่อนขา้งสูงเหมาะสาํหรับการสรุปขอ้มูลแบบเร็วเพื�อการวิเคราะห์เบื(องตน้

Page 6: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Chartการนาํขอ้มูลมาโ ชวใ์นลกัษณะของภาพเพื�อความเขา้ใจขอ้มูลที�ง่าย

และเห็นบทสรุปของขอ้มูลนั(น

Page 7: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Basic

Page 8: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Excel Basic

ขอ้ความกบัตวัเลขการบนัทึกหรือการเกบ็ขอ้มูล แบบฐานขอ้มูล

ตารางแยกเรื�องตามแนวตั(ง แยกรายการตามแนวนอนหวัตาราง 1 row แต่หลายบรรทดัได้หา้มเวน้บรรทดัหา้มติดตารางฐานขอ้มูลกบัขอ้มูลอื�น

รูปแบบของวนัที� การจดัรูปแบบการ Lock Cells

Page 9: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Excel Functions and Formula

Page 10: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

หลกัการใช ้$การคาํนวณพื(นฐาน

SUM,AVERAGE,MAX,MIN,COUNT,COUNTA,COUNTBLANKการใชฟ้ังชั�น LOWER, UPPER, PROPERการใชฟ้ังชั�น TRIMการใชฟ้ังชั�นตดัขอ้ความ LEFT,MID,RIGHT,LEN,SEARCH,FIND,

CONCATENATE

Page 11: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Condition Formatting

Page 12: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Highlight Cells Rules Top/Bottom Rules

Page 13: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Data Bars Color Scales

Page 14: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Icon Sets

Page 15: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Visual Basic for Application

Page 16: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Macro VBA

ไมจ่ําเป็นตอ้งมคีวามรูเ้กี�ยวกบัการเขยีน VBA ตอ้งมคีวามรูเ้กี�ยวกบัการเขยีน code VBA

ไมม่คีวามยดืหยุน่ในการใชง้าน มคีวามยดืหยุน่ในการใชง้าน

ผลลัพธท์ี�ไดอ้าจไมไ่ดด้ั�งใจตอ้งการ ไดผ้ลลัพธต์ามความตอ้งการ

�Macro คือ ชุดคาํสั�งที�ช่วยในการทาํงานต่างๆ ใหเ้ป็นไปแบบอตัโนมตัิ ตามที�เรา record ไว้

�VBA คือ การเขียนคาํสั�งดว้ยภาษา Visual Basic เพื�อสั�งงานใหโ้ปรแกรมทาํงานตามความตอ้งการแบบอตัโนมตัิ

Page 17: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

โ ครงสร้างหลกัที�เราควรจะเขา้ใจของ Excel VBA ประกอบไปดว้ย

Application: ในส่วนของอนันี(จะพูดถึงในส่วนของชั(นระดบั Application ซึ� งไดแ้ก่ Excel, Word, Outlook ซึ� งจะมีคาํสั�งที�ใชใ้นชั(น ระดบันี(Workbook: เป็นระดบัชั(นของสมุดงาน ซึ� งจะมีคาํสั�งตวัอย่างเช่น การเปิด ปิด, การเซฟสมุดงาน การเพิ�มสมดงานใหม่Worksheet: เป็นลาํดบัชั(นของแผ่นงาน กจ็ะมีคาํสั�งการใชเ้กี�ยวกบั แผ่นงาน เช่น เปลี�ยนชื�อ คดัลอกแผ่นงาน การเลื�อนแผ่นงานRange: เป็นลาํดบัของการใชค้าํสั�งกบัช่วงเซลส์ การเปลี�ยนสี การใส่ค่า การลบ อื�นๆ

Page 18: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Tool VBA ใน Excel 2003

Page 19: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Tool VBA ใน Excel 2007

1

2

3

Page 20: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Tool VBA ใน Excel 2010

1

2

3

4

Page 21: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Set security >> ตั ?งคา่ระดบัการใชง้าน Macro

หากกําหนดเป็น Highจะไมส่ามารถ Run macro ได ้

หากกําหนดเป็น Mediumจะมหีนา้ตา่งแสดงการขออนุญาตใช ้Macro

**แนะนําใหใ้ชอ้นันี?จา้

หากกําหนดเป็น Lowจะสามารถ Run Macro ไดเ้ลย

**คอ่นขา้งเสี�ยง(แลดเูชื?อเชญิไวรัส)

Page 22: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

การติดตั(งแถบเครื�องมือ สาํหรับ Excel VBA 2013

การติดตั(ง Tab Developer>> คลิกขวาตรง Tab Ribbon แลว้ เลือก “Customize the Ribbon” >> แลว้คลิกเลือกที� check box ของ developer

Page 23: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

>> หลงัจากเลือกปลว้กจ็ะมี Tab ของ developer เพิ�มขึ(นมาดงัรูป

>> Tab Developer ประกอบไปดว้ย

Page 24: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Run macro

Recordmacro

Codeeditor

Control tool

Design mode

Page 25: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

หนา้ต่าง VBE

Code Window

Project Explorer

Properties Window

Page 26: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

>> Tab Developer ประกอบไปดว้ย

1. Visual Basic: เป็นหน้าต่าง ที�ใช้สําหรับเปิดหน้าต่างของหน้า VBE (visual basic for editor) เพื�อเข้าสูห่น้าต่างการเขียนโค้ดของ VBA

Page 27: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

2. Macros: เป็นหนา้ต่างที�ใช ้ดูรายการมาโ ครที�ตวัสมุดงานเปิดอยู่

จะโ ชวช์ื�อมาโ ครทั(งหมดสาํหรับสมุดงานที�เปิดอยู่ เราสามารถทาํการ Run คือสั�งให้มาโ ครนั(นทาํงาน หรือ step into

คือเขา้ไป run ทีละสเต็ป รวมถึงการแกไ้ข และลบมาโ ครนั(น

Page 28: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

3. ปุ่ม Record Macro เป็นปุ่มที�ใชส้าํหรับบนัทึกการทาํงานบน Excel และสร้างเป็น โ คด้ VBA ให ้และเซฟในชื�อของ มาโ ครนั(น หลงัจาก กดบนัทึก record ปุ่มจะเปลี�ยนเป็นปุ่ม Stop Recording โ ดยอตัิโ นมตัิ

4. ปุ่ม “Macro Security”

ใชส้าํหรับเซ็ทระดบัการควบคุมของมาโ คร วา่ใหแ้จง้ หรือเปิดใหม้าโ ครใชง้านไดห้รือไม่ได้

Page 29: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Pivot Table

Page 30: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

โ ครงสร้าง ของ Pivot Table

PivotTable Area•Fieldname :ชื�อFieldจาํกฐาํนขอ้มูล•Report Filter :กาํหนดขอบเขตกาํรแสดงขอ้มูลโ ดยสาํมารถFilterขอ้มูลเฉพาํะที�ตอ้งกาํรได้•Row Labels : แสดงItemในแต่ละแถว•Column Labels :แสดงItemในแต่ละคอลมัน์•Values :กาํหนดFieldที�จะนาํมาํคาํนวณเช่นยอดรวมคํ�าเฉลี�ยนบัจาํนวนเป็นตน้

Field Name

Row Label Value

Filter

Page 31: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

-Excelจะไม่สาํมาํรถสร้าง PivotTable & PivotChartในกรณีที�˚มีคอลมัน์ที�ไม่มีขอ้มูล Hide อยู่ในฐานขอ้มูลหรือ ไม่มี Column Headerในฐานขอ้มูล

วิธีแก:้ลบคอลมัน์เปล ํ�าทิ(งหรือใส่ Column Headerใหเ้รียบร้อย-กรณีColumn Headerซํ( ากนัExcelจะเพิ�มเลขลาํดบัทา้ยField

เตรียมฐาํนขอ้มูลสาํหรับPivotTable & PivotChart

Page 32: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Slicer (Excel 2010 ขึ(นไป)-เครื�องมือที�ช่วยอาํนวยควาํมสะดวกในกาํรFilterขอ้มูลPivotTableTools=>Options=>InsertSlicer

-คลิกItemในSlicerเพื�อFilterขอ้มูล(ถา้ตอ้งการเลือกหลายItemใหก้ดCtrl+คลิกซ้าย

Page 33: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

ปรับแต่ง Slicer-จาํนวนColumnควาํมสูงควาํมกวํ(างของกาํรแสดงItemSlicer Tools => Options => Buttons-รูปแบบสี Slicer : Slicer Tools => Options => Slicer Styles-Slicer Setting : Slicer Tools =>Options=> Slicer Settings

Page 34: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

เทคนิคกาํรFilter หลายๆ PivotTable พร้อมกนั-วิธีใช ้Slicer หรือ Timeline เพื�อFilterหลายๆ PivotTable1)สร้างSlicerหรือ Timelineใน Field ที�ตอ้งกาํรทาํ Filter2)Excel2010 => คลิกSlicer => Slicer Tools => PivotTable Connectionsหรือคลิกขวาํที�Slicer=> PivotTable ConnectionsExcel2013 คลิกSlicerหรือTimeline=>Slicer หรือ TimeLine Tools=> Report Connectionsหรือคลิกขวาํที�SlicerหรือTimeline=> Report Connections3) เลือกPivotTableที�ตอ้งกาํรใชS้licerหรือTimelineร่วมกนั

Page 35: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Chart

Page 36: แนวคิด ปรับปรุงงาน Excel ให้มี ประสิทธิภาพมากขึ#นด้วย… VBA ...nih.dmsc.moph.go.th/KM/61/3_7_1.pdf ·

Circle Graph (Pie Chart) Bar Graph

Line GraphScatter Plots