129
อ.สมิทธิชัย ไชยวงศ์ (อ.รอง) [email protected]

Advanced excel 2010

Embed Size (px)

Citation preview

Page 1: Advanced excel 2010

อ.สมทธชย ไชยวงศ (อ.รอง)

[email protected]

Page 2: Advanced excel 2010
Page 3: Advanced excel 2010

ในการท างาน Excel ใหไดอยางรวดเรวและมประสทธภาพนน การเขาใจวธการใชฟงกชนใน Excel อยางถกตอง จะมสวนชวยลดเวลาในการท างานเปนอยางมาก เพราะฟงกชนคอสตรสาเรจรปทถกเขยนโปรแกรมมาแลวเพยงแตผใชปอนคาเขาไปเทานนโปรแกรม Excel มฟงกชนมากมายเปนรอยฟงกชน แตผใชสวนใหญใชเปนไมถง 10ฟงกชน เชน เมอสรางสตรแลวเซลเกด #DIV/0 ขนมา กไมรวาจะแกอยางไร ผลกคองานเกดความลาชาและเสยเวลาเปนอยางมาก หลายคนอยากจะเรยนรวธการใชงานฟงกชนหรอรแลวแตกไมรวาจะนาไปประยกตใชงานไดอยางไรดงนนหลกสตรนจะสอนใหคณไดเรยนรการใชงานฟงกชนตางๆ ของ Excel โดยเฉพาะ โดยจะเนนวธการประยกตใชงานของฟงกชนตางๆ พรอมทงเทคนควธลดตางๆ

Page 4: Advanced excel 2010

การใชงานฟงกชนขนสงในการจดการกบตวเลข

การปดเศษของตวเลขในลกษณะตางๆ เชน การปดเศษทงทงหมด การปดเศษขนทงหมด หรอการปดเศษโดยใช 5 เปนเกณฑ หรอปดใหใกลเคยงกบคาทตองการ หรอการตงราคาสนคาใหลงทายดวย 0 เชน 3,487 บาท ใหแสดงเปน 3,500 ฯลฯ

การปดตวเลขใหเปนจานวนเตม การแปลงตวเลขใหเปนคาอาน เชน หนงรอยบาทถวน ฯลฯ เพอใชพมพใบ

เสนอราคาหรอเชค

Page 5: Advanced excel 2010

การปดเศษของตวเลขในลกษณะตางๆ เชน การปดเศษทงทงหมด การปดเศษขนทงหมด หรอการปดเศษโดยใช 5 เปนเกณฑ หรอปดใหใกลเคยงกบคาทตองการ หรอการตงราคาสนคาใหลงทายดวย 0 เชน 3,487 บาท ใหแสดงเปน 3,500 ฯลฯ

Page 6: Advanced excel 2010
Page 7: Advanced excel 2010

การปดตวเลขใหเปนจานวนเตม

Page 8: Advanced excel 2010

การแปลงตวเลขใหเปนคาอาน เชน หนงรอยบาทถวน ฯลฯ เพอใชพมพใบเสนอราคาหรอเชค

Page 9: Advanced excel 2010

การฟงกชนขนสงในการแสดงขอมลของเซลในลกษณะตางๆ

เทคนคการตรวจหา Error ในเวรกชตอยางรวดเรว

ปญหาของ Error ตางๆ ในสตรทจะตองพบ เชน #VALUE!, #NAME?, #DIV/0!, #REF และวธการแกไข

การปองกนสตรทแสดง #DIV/0! ใหแสดงเปนคาอนแทน

การตรวจสอบวาเซลทแสดงเปนตวเลขหรอตวอกษร เชน '1000 คอตวอกษร จะท าใหไมสามารถค านวณได มกจะเกดจากการ import ขอมลเขามา

การแปลงคาของเซลทเปน Text ใหเปนตวเลข เพอแกปญหาใหสามารถค านวณได

Page 10: Advanced excel 2010

เทคนคการตรวจหา Error ในเวรกชตอยางรวดเรว

Page 11: Advanced excel 2010
Page 12: Advanced excel 2010

ปญหาของ Error ตางๆ ในสตรทจะตองพบ เชน#VALUE!, #NAME?, #DIV/0!, #REF และวธการแกไข

Page 13: Advanced excel 2010

การปองกนสตรทแสดง #DIV/0! ใหแสดงเปนคาอนแทน=IFERROR(สตร,คาเมอสตรผด)

Page 14: Advanced excel 2010

การตรวจสอบวาเซลทแสดงเปนตวเลขหรอตวอกษร เชน '1000 คอตวอกษร จะท าใหไมสามารถค านวณได มกจะเกดจากการ import ขอมลเขามา

Page 15: Advanced excel 2010
Page 16: Advanced excel 2010

การแปลงคาของเซลทเปน Text ใหเปนตวเลข เพอแกปญหาใหสามารถค านวณได

Page 17: Advanced excel 2010
Page 18: Advanced excel 2010

ถาคณเปนผหนงทกาลงใช Excel จดเกบกบขอมลทเปนลกษณะของ Database คณคงจะคงใชฟเจอรบางอยางท Excel มอยแลว เชน การ Sort หรอการใช Filter บาง แตจรงๆ แลวโปรแกรม Excel นน มความสามารถอกมายมายในการทจะจดการและชวยสราง Report ตางๆ อยางรวดเรว ซงเชอไดเลยวาคณเองอาจจะนกไมถงวาจะท าไดเชนนน

ดงนนในหลกสตรนจงจะสอนใหคณไดเรยนรคาสง และเทคนคตางๆ ทเกยวของกบการจดการกบ Database โดยเฉพาะ ซงเมอจบหลกสตรนแลวคณจะสามารถสรางรปแบบของ Report ตางๆ ไดอยางรวดเรว

Page 19: Advanced excel 2010

หลกการออกแบบ Worksheet และ Field ทถกตอง Column ในแนวตงเรยกวา Field

ซงในแตละ Field ใชเกบขอมลเรองเดยวกน เชน ใช Column A เกบขอมลเกยวกบรหสประจ าตว (Id) และใช Column B เกบขอมลเกยวกบชอสนคา (Name)

Row ในแนวนอนเรยกวา Record หรอ รายการ ซงแตละรายการ

ประกอบดวยเรองทเกยวของกนของ

รายการหนงๆ เชน รายการแรก

ประกอบดวย Id : a001, Name : aaa, และ Amount : 100

Page 20: Advanced excel 2010

การจดรปแบบของ Database ใหสวยงามแบบมออาชพอยางรวดเรวดวย Table Style

Page 21: Advanced excel 2010
Page 22: Advanced excel 2010

การลบขอมลซ าอยางรวดเรวใน Database

Page 23: Advanced excel 2010

การน าขอมลจาก Text File เขามาในโปรแกรม Excel

1. คลกเซลลทคณตองการวางขอมลจากฐานขอมล

2. บนแทบ Data ในกลม รบขอมลภายนอก ใหคลก Form Text

3. ในรายการ มองหาใน ใหระบต าแหนงและคลกสองครงฐานขอมล Text ท

คณตองการน าเขา

4. ในกลองโตตอบ เลอกตาราง ใหคลกตารางหรอแบบสอบถามทคณตองการ

น าเขา แลวคลก ตกลง

Page 24: Advanced excel 2010

การ Import Text File เขามาใน Excel แลวความหมายของตวเลอกทงหมดใน Text ImportWizard วาท างานอยางไร

Page 25: Advanced excel 2010

เทคนคการแปลง Text File ทเปนลกษณะของ Report Format ใหอยในรปแบบ Database Format อยางรวดเรว ซงจะชวยประหยดเวลาในการท างานดวยมอเปนอยางมาก

Page 26: Advanced excel 2010

เทคนคการ Import Text File ทมตวแบงโดยใช Comma โดยไมตองผาน Text Import Wizard

Page 27: Advanced excel 2010

การสราง Report โดยใหขอมลถกเรยงล าดบในแบบพเศษ เชน การ Sort ขอมลแบบ Unlimited Field ซงโดยปกตใน Excel จะท าไดแค 16 Field เทานน

Page 28: Advanced excel 2010

การ Sort ขอมลตามสของขอความ หรอสของ Font หรอตามประเภทของ Icon ซงเปนฟเจอรใหมของ Excel 2010 โดยเฉพาะ

Page 29: Advanced excel 2010

การสราง Custom Sort Order เพอเรยงขอมลใหปรากฏตามล าดบทตองการ ซงโดยปกตไมสามารถท าได

Page 30: Advanced excel 2010

การ Sort ขอมลแบบซายไปขวาแทนการ Sort แบบ Top to Bottom

Page 31: Advanced excel 2010

การสราง Report โดยใช Filter เพอแสดงขอมลเฉพาะรายการทสนใจเทานน

Page 32: Advanced excel 2010

การคนหาขอมลใน Database ในลกษณะตางๆ เชน การสราง Form เพอแสดงขอมลใน Database การคนหาเฉพาะขอมลทขนตนหรอลงทายดวยคาตางๆ ทตองการ

Page 33: Advanced excel 2010

การ Filter ขอมลตามสของขอความ หรอสของ Font หรอตามประเภทของ Icon ซงเปนฟเจอรใหมของ Excel 2010 โดยเฉพาะ

Page 34: Advanced excel 2010

การสราง Report โดยใช Advanced Filter ส าหรบ Report ทตองการเงอนไขทสลบซบซอน ซงการใช Filter ในแบบปกตไมสามารถท าได

Page 35: Advanced excel 2010

การ Save Filter เกบไว ซงเปนสดยอดเทคนคทปกตจะท าไมได เปนการชวยประหยดเวลาในการออกรายงานหลายมมมองบอยๆ

Page 36: Advanced excel 2010

การสรางสตรเพอสรปผลของการ Filter ใหแสดงขอมลในรปแบบตางๆ เชน Sum, Min, Max, Count ฯลฯ

=SUBTOTAL(2,$H$10:$H$125)

Page 37: Advanced excel 2010

การสราง Subtotal Report แบบอตโนมต โดยไมตองเสยเวลามาคอยแบงหนาของ Group ขอมลดวยตนเอง

Page 38: Advanced excel 2010

การสราง Multiple Subtotal Report ส าหรบรายงานทตองการยอดรวมของ Subtotal หลายชน

Page 39: Advanced excel 2010

การใชงาน Database Function เพอสรางรายงานสรปตวเลขจาก Database ทงแบบธรรมดาและแบบเงอนไขทซบซอน

Page 40: Advanced excel 2010

ในสวนนส าหรบการนาขอมลมาเคราะหตอไป การดแนวโนมของขอมลโดยการสราง Trend (Create a Trendline) การสรางสถานการณ (Create Scenarios) โดยจาลองสถานการณของ

ขอมลโดยก าหนดการเปลยนปจจย (Factor) เพอผลทเราตองการตามสถานการณตาง ๆ เชน ตองการดแนวโนมการสงซอสนคา เมออตราเงนเฟอ แปรเปลยนไปจาก 3% เปน 4% หรอ 5%

Perform What-If Analysis เปน Add-On ของ Microsoft Excel เพอวเคราะหขอมลตามเงอนไขตาง ๆ

Page 41: Advanced excel 2010

การดแนวโนมของขอมลโดยการสราง Trend(Create a Trendline)

Page 42: Advanced excel 2010

การสรางสถานการณ (Create Scenarios) โดยจาลองสถานการณของขอมลโดยก าหนดการเปลยนปจจย (Factor) เพอผลทเราตองการตามสถานการณตาง ๆ เชน ตองการดแนวโนมการสงซอสนคา เมออตราเงนเฟอ แปรเปลยนไปจาก 3% เปน 4% หรอ 5%

Page 43: Advanced excel 2010

Perform What-If Analysis เปน Add-On ของ Microsoft Excel เพอวเคราะหขอมลตามเงอนไขตาง ๆ

Page 44: Advanced excel 2010
Page 45: Advanced excel 2010

ปจจบนผใชงานสวนใหญไดใช Excel สรางแบบฟอรมตางๆ ในท างธรกจมากมาย เชน ใบเสนอราคา ใบแจงหน ใบเสรจรบเงน ใบเบกสนคา ฯลฯ ซงขอดของการใช Excel ในการสรางฟอรมคอ สามารถทจะใสสตรค านวณตางๆ ไดงาย แตปญหาของการใชงานฟอรมทจะตองพบคอ เมอจะจดเกบขอมลในฟอรม ผใชงานทวไปมกจะท าการ Save ขอมลเปนแตละไฟลไป ซงไมใชการเกบในลกษณะของ Database ปญหากคอเมอตองการจะรวบรวมขอมลไปวเคราะหหรอประมวลผลตางๆ จะท าไมได เพราะขอมลถกแยกเปนแตละไฟลไมไดถกเกบเปน Database ในไฟลเดยวกนปญหานสามารถแกไขไดหากคณมความเขาใจในการเขยนภาษา VBA คณไดเขาใจวธการประยกตใช ภาษา VBA เพอแกปญหานโดยเฉพาะ ซงจะไดเรยนรการพฒนาโปรแกรมส าหรบจดการกบฟอรม เชน การปอนขอมลใหมในฟอรม (New) การบนทกขอมลเปน Database (Save) การเรยกขอมลเกาทปอนไปแลวขนมาแกไข (Edit) การลบขอมลทไมตองการ (Delete)

Page 46: Advanced excel 2010

Record Macro3: CopyData

Page 47: Advanced excel 2010

1. คลก Sheet ชลบร

2. ลากคลม D3:D16

3. คดลอก (Copy)

4. คลก Sheet รวมยอดขาย

5. คลก C3

6. วาง (Paste) แบบ Value

7. คลก Sheet กทม

8. ลากคลม D3:D16

9. คดลอก (Copy)

10. คลก Sheet รวมยอดขาย

11. คลก D3

12. วาง (Paste) แบบ Value

Page 48: Advanced excel 2010

13. คลก Sheet เชยงใหม

14. ลากคลม D3:D16

15. คดลอก (Copy)

16. คลก Sheet รวมยอดขาย

17. คลก E3

18. วาง (Paste) แบบ Value

19. คลก F2 พมพค าวา รวม

20. คลก F3 ใช Sum

21. คดลอกจนถง F16

Page 49: Advanced excel 2010

Run Macro3: CopyData

Page 50: Advanced excel 2010

Record Macro4: AddData

Page 51: Advanced excel 2010

1. คลก Sheet ชลบร

2. คลก B3

3.

4. กด ctrl + shift + ลกศรลง

5. กด ctrl + shift + ลกศรขวา

6. คดลอก (Copy)

7.

8. คลก Sheet เรยงยอดขาย

9. คลก A1

10.

11. กด ctrl + ลกศรลง

12. กด ลกศรลง

13. วาง (Paste)

14.

Page 52: Advanced excel 2010

1. คลก Sheet กทม

2. คลก B3

3.

4. กด ctrl + shift + ลกศรลง

5. กด ctrl + shift + ลกศรขวา

6. คดลอก (Copy)

7.

8. คลก Sheet เรยงยอดขาย

9. คลก A1

10.

11. กด ctrl + ลกศรลง

12. กด ลกศรลง

13. วาง (Paste)

14.

Page 53: Advanced excel 2010

1. คลก Sheet เชยงใหม

2. คลก B3

3.

4. กด ctrl + shift + ลกศรลง

5. กด ctrl + shift + ลกศรขวา

6. คดลอก (Copy)

7.

8. คลก Sheet เรยงยอดขาย

9. คลก A1

10.

11. กด ctrl + ลกศรลง

12. กด ลกศรลง

13. วาง (Paste)

14.

Page 54: Advanced excel 2010

15. คลก Sheet เรยงยอดขาย

16. คลก C2

17.

18. กด ctrl + ลกศรลง

19. กด ลกศรลง

20. ใช Sum

21.

Page 55: Advanced excel 2010

Run Macro4: AddData

Page 56: Advanced excel 2010

การออกแบบฟอรมใน Excel

การออกแบบ Worksheet เพอใหเหมาะส าหรบเปนแบบฟอรม

การออกแบบเซลลทจะใชส าหรบเกบขอมลในฟอรม

การใสรปภาพตางๆ ในฟอรม เชน โลโกบรษท หรอลายเซนต

การปองกนไมใหฟอรมถกแกไข และใหปอนไดเฉพาะเซลลทตองการใหปอนลงไปเทานน

Page 57: Advanced excel 2010

Record Macro5: InputData

Page 58: Advanced excel 2010

1. คลก Sheet Input

2. ลากคลม B12:G12 (ชวงขอมลทตองการ)

3. คดลอก (Copy)

Page 59: Advanced excel 2010

4. คลก Sheet Data

5. คลก A1

6.

7. กด ctrl + ลกศรลง

8. กด ลกศรลง

9. วาง (Paste) แบบ Value

10.

Page 60: Advanced excel 2010

Run Macro5: InputData

Page 61: Advanced excel 2010

Record Macro6: ClearData

Page 62: Advanced excel 2010

1. คลก Sheet Input

2. คลก B2 กด ctrl คลก B3,B6,B7

3. กด Delete

4. คลก B2

Page 63: Advanced excel 2010

Run Macro6: ClearData

Page 64: Advanced excel 2010

ความเขาใจเบองตนเกยวกบภาษา VBA

ความเขาใจเกยวกบ VBA การใชงาน Visual Basic Editor การสราง Module เพอเขยนโปรแกรม การใชงานตวแปรในโปรแกรม การเขยนคาสง IF, Do Loop การเขยนโปรแกรมเรยกโปรแกรมยอยมาท างาน การแสดงไดอะลอกบอกซยนยน

Page 65: Advanced excel 2010

Object :การอางองวตถCell

Range(“ชอเซล") :ระบต าแหนง

ActiveCell :เซลปจจบน, ทเรม

เลอก

Selection :เซลทงหมดทคลม

Sheet

Sheets(เลขชท) :ระบต าแหนงท

Sheets(“ชอชท") :ระบชอ

ActiveSheet :ซทปจจบน

Page 66: Advanced excel 2010

Statement :การเขยนรปประโยคค าสง

ObjectProperty Parameter

Method ขยาย Method

ขยาย Object

• Property

• Method

Page 67: Advanced excel 2010

Property

Cell

Value : ก าหนดคาใน Cell

Font : ก าหนดลกษณะ Font

Sheet

Name : ก าหนดชอ Sheet

Page 68: Advanced excel 2010

VBA2 :FormatCell1. ตง Sub ชอ FormatCell

2. เขยน Statement

ActiveCell.Font.Bold = True

->ใหขอความเปนตวหนา

ActiveCell.Font.Size = 20

->ใหขอความมขนาด 20

ActiveCell.Font.ColorIndex = 3

->ใหขอความเปนสแดง

*ตองการสอนทดลองเปลยนตวเลขเอง

Page 69: Advanced excel 2010

Run VBA2 :FormatCell

Page 70: Advanced excel 2010

VBA3 :FormatAll1. ตง Sub ชอ FormatCell

2. เขยน Statement

Selection.Font.Bold = False

->ใหขอความไมเปนตวหนา

Selection.Font.Size = 11

->ใหขอความมขนาด 11

Selection.Font.ColorIndex = 1

->ใหขอความเปนสด า

*ตองการสอนทดลองเปลยนตวเลขเอง

Page 71: Advanced excel 2010

Run VBA3 :FormatAll

Page 72: Advanced excel 2010

VBA4 :SheetName

1. ตง Sub ชอ FormatCell

2. เขยน Statement

ActiveSheet.Name = ActiveCell.Value

->ใหชอชทเทากบชอเซลทเลอก

*ถาเซลทเลอกเปนเซลวางจะเกด Error

Page 73: Advanced excel 2010

Run VBA4 :SheetName

Page 74: Advanced excel 2010

Method

Cell

Clear : ลบคาใน Cell

Offset, Select : เลอน Cell

Copy, Paste: คดลอก วางคาใน Cell

Sheet

Add: เพม Sheet

Page 75: Advanced excel 2010

VBA5 :DeleteData

1. ตง Sub ชอ DeleteData

2. เขยน Statement

Selection.Clear

->ลบขอมลบรเวณทเลอก

Page 76: Advanced excel 2010

Run VBA5 :DeleteData

Page 77: Advanced excel 2010

VBA7 :CopyPaste1. ตง Sub ชอ CopyPaste

2. เขยน Statement

ActiveCell.Copy

->คดกลอกจากเซลปจจบน

ActiveCell.Offset(0, 1).Select

->เลอกไปขวา 1 ชอง

ActiveCell.PasteSpecial xlPasteValues

->วางขอมลลง

ActiveCell.Offset(0, 1).Select

->เลอกไปขวา 1 ชอง

ActiveSheet.Paste

->วางขอมลลง

Page 78: Advanced excel 2010

Run VBA7 :CopyPaste

Page 79: Advanced excel 2010

VBA8 :AddSheet1. ตง Sub

2. เขยน Statement

Sheets.Add

->เพมชท

ActiveSheet.Name = "Qrt4"

->ใสชอเปน “Ort4”

*คดลอกวาง 4 ชดแลวเปลยนเปน

Qtr3 Qtr2 Qtr1 ตามล าดบ

Page 80: Advanced excel 2010

Run VBA8 :AddSheet

Page 81: Advanced excel 2010

Function

MsgBox :

i = MsgBox(“Prompt", Buttons, "Title") i : ตวแปรรบคาจากตอบ Button ใน MsgBox

Prompt : ขอความแสดงใน MsgBox

Button : ปมใหคลกตอบ

Title : ขอความหวขอ

InputBox :

i = InputBox (“Prompt", "Title",Default) i : ตวแปรรบคาจาก InputBox

Prompt : ขอความแสดงใน InputBox

Title : ขอความหวขอ

Default : คาเรมตน

Page 82: Advanced excel 2010

VBA9 :MsgBox 1. เมอสง Run จะได

2. เมอสง Run จะลบขอมลทคลม แลวจะได

Page 83: Advanced excel 2010

Variable

Dim ชอตวแปร As ชนด

Integer

Long

String

Date

Variant

Dim I As Integer

ตวแปร I เกบคาได -32768 ถง 32767

Page 84: Advanced excel 2010

VBA11 :InputBoxTax1. ตง Sub

2. เขยน Statement

> ตงตวแปรตางๆ

>InputBox รบคาตางๆ

>ค านวณ

>แสดงคา

Page 85: Advanced excel 2010

Run VBA11 :InputBoxTax

Page 86: Advanced excel 2010

Control Structure

Condition

If…Then…Else

Select…Case

Loop

For…To…Next

Do While…Loop

Do Unit…Loop

Do…Loop While

Do…Loop Unit

Page 87: Advanced excel 2010

ค าสง If-Then

If condition Then

statements

Else

elsestatements

End If

Page 88: Advanced excel 2010

VBA14 :IfDelect1. ตง Sub

2. เขยน Statement

>MsgBox รบคา (Ok=1,

Cancel=2)

>ถา i=1 ให

>ลบบรเวณทเลอก

>จบ

Page 89: Advanced excel 2010

Run VBA14 :IfDelete

Page 90: Advanced excel 2010

If condition Then

statements

ElseIf condition2 Then

elseifstatements

Else

elsestatements

End If

Page 91: Advanced excel 2010

Discount

ซอของราคา <10,000 ไดรบสวนลด 3%

ซอของราคา 10,000-30,000 ไดรบสวนลด 5%

ซอของราคา >30,000 ไดรบสวนลด 7%

Page 92: Advanced excel 2010

Sub discount()

Dim price As String

Dim discount As Long

price = InputBox(“ราคาสนคา", "Price")

If price <> "" Then

If price < 10000 Then

ActiveCell.Offset(1, 0) = price * 0.03

ElseIf price < 30000 Then

ActiveCell.Offset(1, 0) = price * 0.05

Else

ActiveCell.Offset(1, 0) = price * 0.07

End If

End If

End Sub

Page 93: Advanced excel 2010

ค าสง Select-Case

Select Case testexpression ตวแปรทจะน ามาตรวจสอบ

Case expressionlist1 คาของตวแปรในกรณท 1 statements1 ชดค าสงทตองกระท า เมอคาของตวแปรตรงกบกรณท 1

Case [Is] expressionlist2statements2[Case [Is] expressionlist-n ][statements-n ]Case Else เมอคาของตวแปร ไมเทากบกรณทผานมาทงหมด ใหมาทกรณนelsestatements ชดค าสงส าหรบกรณทคาของตวแปรไมตรงกบกรณใดเลย

End Select

Page 94: Advanced excel 2010

VBA15 :CaseGrade1. ตง Sub

2. เขยน Statement

> ตงตวแปร

>InputBox รบคา

ตรวจสอบวาอยในชวง Case ใน

แสดง MsgBox ของ Case นน

Page 95: Advanced excel 2010

Run VBA15 :CaseGrade

Page 96: Advanced excel 2010

การใชเครองมอออกแบบ Interface ของภาษา VBA

การสรางปม Button ตางๆ

การสราง User Form เพอแสดงไดอะลอกซขนมา

การใชงาน Control ตางๆ ของ Form Tools เชน ปม Command Button, List Box

Page 97: Advanced excel 2010

การเขยนโปรแกรมจดการกบ Form

การเขยนโปรแกรมส าหรบปม Add เพอปอนขอมลใหมลงในฟอรม การเขยนโปรแกรมส าหรบปม Save เพอบนทกขอมลเกบเปน Database การเขยนโปรแกรมส าหรบปม Edit เพอเรยกขอมลเกาขนมาแสดงในฟอรม การเขยนโปรแกรมส าหรบปม Delete เพอคนหาและลบขอมลทไมตองการออกจาก Database การเขยนโปรแกรมส าหรบปม Print เพอพมพฟอรมออกท างเครองพมพ การเขยนโปรแกรมส าหรบปม Exit เพอออกจากระบบ การเขยนโปรแกรมส าหรบปม Sign เพอแสดงลายเซนตในฟอรม การเขยนโปรแกรมเพอซอนเมนคาสง

ตางๆ ของ Excel เมอฟอรมถกเปดขนมา เพอท าใหเตมจอเหมอนกบฟอรมจรง

Page 98: Advanced excel 2010

Copy data across sheet

Page 99: Advanced excel 2010

กลมค าสงทใชส าหรบสงใหท าซ า (Loop

Statements)

For-Next

Do While-Loop

Do-Loop While

Do Until-Loop

Do-Loop Until

Page 100: Advanced excel 2010

ค าสง For-Next

ค าสงน มหนาทส าหรบสงให VB วนลป เหมาะสมกบการท างาน ททราบจ านวนรอบ หรอทราบขอบเขตการวนทแนนอน

For counter = start To end [Step step ]statements

Next [counter ]

----------------------------------------

counter หมายถง ตวแปรทก าหนดข นมาเพอ เปนตวนบรอบทใชในการวนลป

start หมายถง คาเรมตนของตวนบ

end หมายถง คาสนสดของตวนบ

Step คาทจะใหเพมข น (เพมขนคาบวก ลดลงคาลบ)

Page 101: Advanced excel 2010

VBA18 :For1toNum1. ตง Sub

2. เขยน Statement

> ตงตวแปร

>InputBox รบคา Num

>ตวแปร I เรมท 1 ถง Num

เซลปจจบนเทากบ i

เลอกลง 1 ชอง

>ตวแปร I เพมขน 1

Page 102: Advanced excel 2010

VBA18 :For1toNum1. ตง Sub

2. เขยน Statement

> ตงตวแปร Num เปน String

> ถาตอบ Cancel จะได Num เปนคาวาง

จะเกด Error

Page 103: Advanced excel 2010

Run VBA18 :For1toNum

Page 104: Advanced excel 2010

VBA19 :ForAddSheet1. ตง Sub

2. เขยน Statement

> ตงตวแปร

>InputBox รบคา Num

>ตวแปร I เรมท 1 ถง Num

เพมชท หลงชทล าดบสดทาย (ทนบได)

ชอชทเทากบ i

>ตวแปร I เพมข น 1

Page 105: Advanced excel 2010

Run VBA19 :ForAddSheet

Page 106: Advanced excel 2010

Do While-Loop

ค าสงท าซ า ทมจ านวนรอบขนอยกบเงอนไข

Do While condition ‘ท าเมอเงอนไขเปนจรงstatements

Loop ‘วนกลบ

ตวแปร condition หมายถง เงอนไขทคณก าหนดข นมา

ตวแปร statements หมายถง ชดค าสงทคณตองการท าซ า

ค าสง Exit Do หมายถง ออกจาก Do While-Loop ทนท

ค าสง Loop หมายถง ขอบเขตสนสดการวนลป

ลปแบบ Do While น จะวนลปกตอเมอเงอนไข (ตวแปร condition) ยงเปนจรงอย ถาเงอนไขดงกลาวเปนเทจเมอใด กจะออกจากลปทนท มขอทนาสงเกตคอ การใช ลปแบบน จะมโอกาสทไมตองวนลปเลยแมแตรอบ

เดยว นนคอ ถาเงอนไขทเขามาเปนเทจ กไมตองวนทนท

Page 107: Advanced excel 2010

VBA20 :DoWhGrad> ตงตวแปร

>ตรวจสอบคาในชองเซล ถาไมเทากบวาง

(หมายถงมคา) กท า statement ดานใน

ถาเทากบวาง กไมตองท า ขามไปท Loop

>เลอนลง 1 ชอง

>วนกบไปท าใหม ท Do while

Page 108: Advanced excel 2010

Run VBA20 :DoWhGrad

Page 109: Advanced excel 2010

Do Until-Loop

ถาเงอนไขเปนเทจ จงจะวนลป แตถาเปนจรงจะไมมการวนแตอยางใด

Do Until condition ‘ท าเมอเงอนไขเปนเทจ

statements

Loop

Page 110: Advanced excel 2010

VBA21 :DoUnDigi

> ตงตวแปร

>ตรวจสอบถาคา I > total ขามไปท

Loop ถา i<=total กท า statement

ดานใน

>เลอนลง 1 ชอง

>วนกบไปท าใหม ท Do Until

Page 111: Advanced excel 2010

Run VBA21 :DoUnDigi

Page 112: Advanced excel 2010

Do-Loop While

ท า ....วนลปเมอเปนจรง

Do ‘ท า

statements

Loop While condition ‘ตรวจสอบ ถาจรงวนกลบ

จะท าอยางนอยทสด 1 รอบ เพอตรวจสอบเงอนไข เปนจรง หรอเทจ ถาจรง

กจะวนลปตอไปตามปกต แตถาเปนเทจ จะออกจากลปทนท

Page 113: Advanced excel 2010

VBA22 :LoopWhAmount

> ท างานทนท

>sale เทากบคาดานบน

>sale เปนตวเลขหรอไม

>ถาใช เซลปจจบน เทากบ Sale บวกเซลดานหนา

>ถาไม เซลปจจบน เทากบเซลดานหนา

เลอนเซลลง 1 ชอง

ถาเซลปจจบนเทากบวาง และเซลดานหนาไมวาง

(หมายถงมคา) ใหวนข นไปท า Do ใหม

Page 114: Advanced excel 2010

Run VBA22 :LoopWhAmount

Page 115: Advanced excel 2010

Do-Loop Until

ท า ....วนลปเมอเปนเทจ (หยดเมอเปนจรง)

Do

statements

Loop Until condition

เงอนไขทเขามาจะตองเปนเทจ จงจะวนลป ถาเงอนไขเปนจรง จะออกจาก

ลปทนท การใชลปแบบนจะมการวนอยางนอยทสด 1 รอบ

Page 116: Advanced excel 2010

VBA23 :LoopUnVat

รบคา vax

> ท างานทนท

เซลถดไป เทากบเซลปจจบน*

vax

เลอนเซลลง 1 ชอง

ถาเซลปจจบนวาง กจบการ

ท างาน ไมตองวนข นไปท า Do

ใหม

Page 117: Advanced excel 2010

Run VBA23 :LoopUnVax

Page 118: Advanced excel 2010

Great Functions In VBA

สราง

Function ชอ(ตวแปร As ชนดตวแปร) As ชนดฟงชน

statement

End Function

เรยกใช

= ชอ(ตวแปร)

Page 119: Advanced excel 2010

Fx1 :Age(birthday)

Page 120: Advanced excel 2010

Fx2 :SetPrice(unit,cost,profit)

Page 121: Advanced excel 2010

Fx2 :PaySocial(Salary)

Page 122: Advanced excel 2010

การท างานรวมกนดวย Microsoft Excel โดยทานสามารถเปดไฟล Excel พรอมกนไดมากกวา 1 คน แลวท างานพรอม ๆ กนได

การแชร Workbook (Share a Workbook)

การปองกนไฟล (Protect Files)

การตดตามการแกไขไฟลเอกสาร (Set Revision Tracking)

การตรวจสอบไฟลทผอนท าการแกไข Review Tracked Revisions

การนาขอมลจากหลายไฟลมารวมกน (Merge Workbooks)

Page 123: Advanced excel 2010

การแชร Workbook (Share a Workbook)

Page 124: Advanced excel 2010

การตดตามการแกไขไฟลเอกสาร (Set Revision Tracking) การตรวจสอบไฟลทผอนท าการแกไข Review Tracked Revisions

Page 125: Advanced excel 2010
Page 126: Advanced excel 2010

เราจะแนะนาการปองกนการเปดอานไฟล การปองกนการแกไขไฟล ซอนสตร ลอกเซลทไมตองการใหแกไข โดย Excel มความสามารถดานความปลอดภยหลายระดบ โดยหลายทานอาจจะยงไมเคยรมากอน

การก าหนดรหสผานใหไฟล Excel

การปองกน Worksheet & Workbook

การก าหนดการรกษาความปลอดภยใหกบ Macro

Page 127: Advanced excel 2010

การปองกน Worksheet

Page 128: Advanced excel 2010

การปองกน Workbook

Page 129: Advanced excel 2010

การปองกนไฟล (Protect Files) การก าหนดรหสผานใหไฟล Excel