ตัวอย่างที่ 3 : ต้องการจัดปิดแฟ้ม โดยไม่ต้องจัดเก็บซ้ำอีก

ขั้นที่ 1 : ตัวอย่างนี้ต้องเปิดแฟ้มใหม่ขึ้นอีกแฟ้มหนึ่ง เพื่อใช้เก็บรหัสที่ได้จากการบันทึกการปิดแฟ้ม โดยมีขั้นตอนใช้ Recorder บันทึก ดังนี้

  1. คลิกเมนู View > Switch Windows > เลือกชื่อแฟ้มที่ต้องการปิด สมมติว่าชื่อ MyMonth.xls
  2. คลิกเมนู File > Close

จะเกิดรหัส VBA :

Windows("MyMonth.xls").Activate
ActiveWorkbook.Close

ขั้นที่ 2 : ให้ copy รหัสเฉพาะ ActiveWorkbook.Close มาสร้าง Sub Procedure ลงใน MyMonth.xls

Sub CloseMyFile()
    ActiveWorkbook.Close
End Sub

เมื่อทดสอบรหัสนี้หลายๆครั้ง จะพบว่าถ้าในแฟ้มมีข้อมูลใหม่ จะมีคำเตือนเปิดขึ้นบนจอว่า คุณต้องการจัดเก็บข้อมูลที่เปลี่ยนแปลงหรือไม่

ขั้นที่ 3 : ถ้าอยากใช้คำสั่งปิดแฟ้ม โดยไม่ต้องถามเรื่องการจัดเก็บข้อมูลใหม่ คราวนี้ต้องศึกษาจาก Help โดยให้คลิกที่รหัสคำว่า Close จากนั้นกดปุ่ม F1 จะมีตัวอย่างแสดงไว้ในคำอธิบายของ Help ดังนี้

Workbooks("BOOK1.XLS").Close SaveChanges:=False

ขั้นที่ 4 : กลับไปแก้ไขรหัสเดิม โดยนำคำว่า SaveChanges:=False ไปเพิ่มต่อท้ายรหัสเดิม จะพบว่าคราวนี้ไม่มีคำเตือนเปิดขึ้นบนจอว่า คุณต้องการจัดเก็บข้อมูลที่เปลี่ยนแปลงหรือไม่

Sub CloseMyFile()
    ActiveWorkbook.Close SaveChanges:=False
End Sub

หมายเหตุ : หากศึกษาคำอธิบายจาก Help จะพบว่า คำสั่ง Close นั้น สามารถเขียนอีกรูปแบบหนึ่ง คือ expression.Close(SaveChanges, Filename, RouteWorkbook) โดยใช้วงเล็บกำหนดตัวเลือกต่อๆกันไป ทำให้รหัสสั้นลงเป็น

Sub CloseMyFile()
    ActiveWorkbook.Close(False)
End Sub

Related Articles

© Copyright 1999

สงวนลิขสิทธิ์ตามกฎหมาย

ห้ามนำข้อความหรือส่วนหนึ่งส่วนใดของบทความหรือวิดีโอหรือรูปภาพไปใช้เพื่อการค้าขาย หรือเพื่อประโยชน์ส่วนตัว

อนญาตให้นำไปใช้เพื่อสาธารณประโยชน์โดยขอให้ระบุที่มาและชื่อผู้เขียนกำกับไว้ด้วยเสมอ

ลิงก์เว็บ Excel Expert Training

เว็บสำหรับ เรียนออนไลน์

เว็บสำหรับ เรียนแบบกลุ่ม-ส่วนตัว

ติดตามข่าวสารได้จาก facebook

ถามปัญหาได้ที่ กลุ่มคนรัก Excel

และไลน์กลุ่ม Excel Expert Group

ที่อยู่และการติดต่อ

สมเกียรติ ฟุ้งเกียรติ 7/1 รามคำแหง ซอย 35 หัวหมาก บางกะปิ กทม 10240 โทร 097-140-5555, 02-718-9331

Excel@ExcelExpertTraining.com

sfk234x234