งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

บทที่ 7 การสร้างกล่องรับข้อความ และ User Form

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "บทที่ 7 การสร้างกล่องรับข้อความ และ User Form"— ใบสำเนางานนำเสนอ:

1 บทที่ 7 การสร้างกล่องรับข้อความ และ User Form
อ.สุรินทร์ทิพ ศักดิ์ภูวดล สำนักวิชาเทคโนโลยีสารสนเทศและการสื่อสาร

2 แบบฝึกหัด 7.1 ปฏิบัติตามขั้นตอนต่อไปนี้เพื่อให้โปรแกรมสร้างคำสั่งให้อัตโนมัติ
1. Click Mouse ที่cell A1 2. Click ปุ่ม Record Macro 3. ตั้งชื่อ Macro “InputData” > OK 4. Click ยกเลิกปุ่ม Relative reference (ถ้าปุ่มนี้ไม่ถูกเลือกให้ข้ามไป) 5. Click Mouse ที่ B10 6. กด End > กด ลูกศรเลื่อนขึ้น 7. เลือก Relative Reference (กำหนดการไปแบบ Relative ) 8. กดลูกศรลง 1 ครั้ง 9. Stop Recording 10. สร้างปุ่มให้ Macro เลือก Macro ชื่อ InputData

3 จากนั้นให้เขียนโปรแกรมเพิ่มดังนี้
Sub InputData() Range("B10").Select Selection.End(xlUp).Select ActiveCell.Offset(1, 0).Range("A1").Select ActiveCell.Value = Inputbox("please Enter Name", "Input Info.") ActiveCell.Offset(0, 1).Select ActiveCell.Value = Inputbox("please Enter Address", "Input Info.") ActiveCell.Value = Inputbox("please Wnter Salary", "Input Info.") End Sub

4 จากโปรแกรมจะได้ Input Box ที่สามารถทำงานได้ดังภาพ

5 คำสั่ง IsDate (ค่าที่ต้องการเช็ค) IsNumeric (ค่าที่ต้องการเช็ค)
ActiveCell.Offset(0, 1).NumberFormat = "#,##0"

6 แบบฝึกหัด 7.2 ให้นิสิตศึกษาคำสั่งต่อไปนี้ คำสั่ง การตรวจสอบว่าเป็นข้อมูลวันที่หรือไม่และให้แสดง Message Box Sub TestDate() Range("B2").Select Mydate = InputBox("Please Enter Date") If Mydate <> "" And IsDate(Mydate) Then ActiveCell.Value = Mydate Else MsgBox "Invalid Date Format" ActiveCell.Value = "" Call TestDate ‘’’ การเขียนโปรแกรมลักษณะนี้ต้องระวัง เนื่องจากโปรแกรมจะไม่หยุดทำงาน ‘’’’หากข้อมูลที่ใส่ยังไม่ถูกต้อง End If End Sub

7 คำสั่งตรวจสอบว่าเป็นตัวเลขหรือไม่
Sub TestNumeric() Range("B6").Select MyNum = InputBox("Please Enter Numeric") If MyNum <> "" And IsNumeric(MyNum) Then ActiveCell.Value = MyNum Else MsgBox "Invalid Numeric Format" ActiveCell.Value = "" Call TestNumeric End If End Sub

8 แบบฝึกหัด 7.3 การหาส่วนลดของหนังสือ ให้นิสิต Copy คำสั่งลงใน Program อ่านค่า และแปรความหมายของแต่ละบรรทัดส่งอาจารย์ Sub calculateNetAmount() Range("E3").Select MyDiscount = InputBox("Enter discount rate", "Discount rate", 0.1) Do While Not IsEmpty(ActiveCell.Value) ActiveCell.Offset(0, 1).Value = ActiveCell.Value * (1 - MyDiscount) ActiveCell.Offset(0, 1).NumberFormat = "#,##0.00" ActiveCell.Offset(1, 0).Select Loop End Sub

9 ผลลัพธ์จากคำสั่ง

10 Format ตัวเลข ตัวเลข #,#00.00 #,###.## #,##0.00 1 01.00 1. 1.00 55
55.00 55. 299 299.00 299. 2,500.56

11 คำสั่ง Insert Sheet Sub Insertworksheet()
nameSheet = InputBox("ป้อนชื่อ Sheet", "กำหนดชื่อ Sheet") If nameSheet <> "" Then ActiveWorkbook.Sheets.Add ActiveSheet.Name = nameSheet End If End Sub

12 หลังจาก Run คำสั่งจะมี Message Box ขึ้นมาให้ใส่ชื่อ Sheet ใหม่
หลังจากนั้นจะได้ผลลัพธ์ดังภาพถัดไป

13 การทำงานที่ระบุ Worksheet
รูปแบบคำสั่งหาผลรวมจากบทเรียนที่ผ่านมา ActiveCell.Formula = "=Sum(" & cellrange & ")" ActiveCell.Offset(0, 1).Formula = "=Sum(" & DataRange & ")" ActiveCell.Offset(0, 1).Value = "=Sum(" & DataRange & ")“ หรืออาจหาผลรวมได้จาก Result = WorksheetFunction.Sum(Worksheets(“Sheet1").Range("C3:C5"))

14 การคำนวณข้าม Sheet

15 สร้างข้อมูลดังตาราง

16 ให้ Copy คำสั่งต่อไปนี้
Sub SumAmount() Dim result As Double Result = WorksheetFunction.Sum(Worksheets(“ข้อมูลรายการสินค้าในร้าน").Range("C3:C5")) Worksheets(“ผลรวม").Range("A1").Value = “ผลรวมยอดขายสินค้าทั้งหมดคือ" Worksheets(“ผลรวม").Range("B1").Value = result Worksheets(“ผลรวม").Range("C1").Value = “บาท" End Sub

17 จะได้ผลลัพธ์ดังนี้

18 จากนั้นให้นิสิตศึกษาความแตกต่างระหว่าง
การเขียนคำสั่งใน Sheet1 การเขียนคำสั่ง Module

19 การสร้าง User Form

20 การใช้ Text box ActiveCell.Value = txtDate.Text
ActiveCell.Offset(0, 1) = txtName.Text ActiveCell.Offset(0, 2).Value = txtSurName.Text ActiveCell.Offset(0, 3).Value = txtAddress.Text ActiveCell.Offset(0, 4).Value = Lstdepartment.Value ActiveCell.Offset(0, 5).Value = txtSalary.Text ActiveCell.Offset(0, 6).Value = CboCountry.Text

21 การ Add Combo box Private Sub AddCountry() CboCountry.AddItem "China"
CboCountry.AddItem "Japan" CboCountry.AddItem "Korea" CboCountry.AddItem "Taiwan" CboCountry.AddItem "Thailand" CboCountry.Text = CboCountry.List(0) ''' ข้อมูลลำดับแรกที่แสดงใน Combo Box คือ List (0) End Sub

22 การแสดงค่าจาก Combo Box
ActiveCell.Offset(0, 6).Value = CboCountry.Text

23 การ Add List Box Private Sub AddDepartment()
Lstdepartment.AddItem "Accounting" Lstdepartment.AddItem "IT" Lstdepartment.AddItem "Marketing" Lstdepartment.AddItem "Human Resource" Lstdepartment.ListIndex = 0 End Sub

24 การแสดงค่าจาก List Box
ActiveCell.Offset(0, 4).Value = Lstdepartment.Value

25 การแสดงค่าจาก Option Button
If optMale.Value = True Then ActiveCell.Offset(0, 7).Value = “พนักงานชาย" End If

26 การแสดงค่าจาก Check Box
If chk01.Value = True Then ActiveCell.Offset(0, 8).Value = “ท่องเที่ยว" End If

27 การบ้าน

28 1. สร้าง Form ชื่อ frmEmployee

29 2. Insert Module Sub showForm() frmEmployee.show End Sub

30 3. ปุ่มบันทึกข้อมูลพนักงานเรียก Procedure Showform

31 การทำงานของปุ่ม Close
Private Sub CmdClose_Click() Unload Me End Sub

32 การทำงานของปุ่มบันทึกข้อมูล
ให้นำข้อมูลที่บันทึกจากหน้าจอลงสู่ Excel

33 หนังสืออ้างอิง เรียนลัด VBA บน Excel, วิศัลย์ พัวรุ่งโรจน์
Excel VBA Programming, วิชา ศิริธรรมจักร์ และสุรเชษฐ์ วงศ์ชัยพรพงษ์


ดาวน์โหลด ppt บทที่ 7 การสร้างกล่องรับข้อความ และ User Form

งานนำเสนอที่คล้ายกัน


Ads by Google