Excel Expert Training
Home

การใช้ Evaluate method - ตอนที่ 4

โดย คุณอรวีร์

ที่ผ่านมาทั้งหมดเป็นการใช้ Evaluate Method ของ Application Object ซึ่งสามารถละไว้ ไม่ต้องพิมพ์คำ Application. หน้า Evaluate นอกจาก Application Object แล้ว Workbook และ WorkSheet ก็มี Evaluate Method เช่นกัน
 

โปรดสังเกตุว่า เมื่อเราใช้คำสั่งอ้างถึง Cell หรือ Range ใดๆ เช่น [ A1:A10 ].Value = 50

เราไม่ได้กำหนดว่าช่วง A1:A10 ของ Sheet ไหน Excel จะถือว่าเป็นช่วงของ ActiveSheet เช่นกันกับเรื่องการระบุ Workbook ถ้าเราปิด XLS 2 แฟ้ม การอ้างถึง A1:A10 โดยไม่ระบุว่า Workbook ใด จะถือว่าเป็นของ ActiveWorkbook แต่ถ้าเราต้องการระบุ WorkSheet หรือ Workbook ก็ได้ โดยใช้ Evaluate Method ของ Workbook หรือ WorkSheet ดังตัวอย่าง

Application.Workbooks(1).Sheets(1).[A1].Value=5
เป็นการกำหนดระบุลงไปว่า A1 นั้นเป็นของ Worksheet แรก ของแฟ้ม(Workbook)แรก


หมายเหตุ การอ่านคำสั่งลักษณะข้างบนที่มี "จุด" คั่นนั้น ควรอ่านย้อนจากหลังมาหน้า โดยอ่านจุดว่า "ของ" แทน

การใช้ Evaluate Method แบบตัวอย่างข้างบน เราถือว่า Evaluate นั้นเป็น Method ของ WorkSheet
ที่จริงการใช้ก็ไม่มีอะไรมาก เป็นเพียงแค่การระบุ Workbook หรือ WorkSheet ลงไปเท่านั้นว่าเป็น Workbook ใด WorkSheet ใด เพื่อ Excel จะได้ไม่ไปถือว่าเป็น ActiveWorkbook , ActiveSheet เท่านั้น

เอาหล่ะค่ะ ถือว่าจบการอธิบายเรื่อง Evaluate Method (รีบสรุปเองเลยว่าจบ) ต่อไปเมื่อมีเวลาจะกลับมายกตัวอย่างการใช้แบบต่างๆ รวมทั้งเปรียบเทียบกับการใช้คำสั่งอื่นๆ

ไว้ต่อตอนหน้าค่ะ ก่อนจบมีตัวอย่างให้ทดลองค่ะ

ทดลอง Run คำสั่ง VBA ต่อไปนี้ แล้วย้อนกลับมาดูที่ Sheet ของ Excel ทีละคำสั่ง

Workbooks(1).ActiveSheet.[A1:A4].Value = [{1;3;5;7}]
[C1:E1].Value = [{2,4,6,8}]
[C3:E5].Value = [{2,4,6,8}]
[C7:E8].Value = [{2,4,6;11,12,13}]
[G6:H8].Value = [Transpose(C7:E8)]

[A1:A4,C1:E1,C3:E5,C7:E8,G6:H8].Value = Null
หรือ
[A1:A4,C1:E1,C3:E5,C7:E8,G6:H8].ClearContents

 

ตอนต่อไป ... การใช้ Evaluate method - ตอนที่ 5
 

Home

 

www.xls.i.am
www.tpa.or.th/xlsiam    

21/06/2545