ทุกคนที่ต้องแบ่งกันใช้เครื่องคอมพิวเตอร์เครื่องเดียวกันทำงาน มักพบปัญหาว่า เมื่อเปิดโปรแกรม Excel ขึ้นมาแต่ละครั้ง หน้าตาของเมนู หรือสภาพพื้นที่ของแฟ้มแรกว่างๆที่เห็นบนหน้าจอ ชอบเปลี่ยนตำแหน่งหน้าตาไปจากคราวก่อนที่ตนเองใช้ เพราะคนอื่นที่ใช้ Excel อย่างไม่เกรงใจ อาจปรับตำแหน่งเมนู และระบบต่างๆของ Excel ให้ถูกใจตน ... แต่ไม่ถูกใจคนอื่นเขา
ดังนั้นแทนที่จะต้องเสียเวลาปรับระบบของ Excel ให้ถูกใจ เรามาใช้ Macro Recorder บันทึกรหัสเื่พื่ิอทำหน้าที่ปรับระบบให้ทันทีเมื่อเปิดแฟ้มขึ้นมาดีกว่า พอเปิดแฟ้มขึ้นมา ก็ให้ระบบปรับตัวเองทันที และเมื่อปิดแฟ้มก็ให้ปรับระบบกลับสู่สภาพแรกสุด เหมือนสมัยที่เพิ่งเปิดใช้ Excel เป็นครั้งแรก
วิธีใช้ Macro Recorder ต่อไปนี้ มีข้อสำคัญอยู่ที่ชื่อของ Macro ว่าต้องตั้งชื่อว่า Auto_Open และ Auto_Close เท่านั้น ห้ามตั้งชื่อเป็นอย่างอื่น โดย Auto_Open จะถูกสั่งให้ทำงานเองทันทีเมื่อแฟ้มที่เก็บรหัสนี้ถูกเปิดขึ้น และ Auto_Close จะถูกสั่งให้ทำงานทันทีเมื่อแฟ้มที่เก็บรหัสนี้ถูกสั่งปิด
ก่อนที่จะเริ่มบันทึก Macro อย่าลืมปรับระบบ Excel ให้เป็นตรงกันข้ามกับที่ต้องการไว้ก่อน เพราะระหว่างการบันทึก Macro นั้น เราจะได้เห็นว่าคำสั่งที่ต้องการนั้นถูกเลือกจริง และ Macro Recorder จะสร้างรหัสตาม
ขั้นตอนการบันทึก Macro ชื่อ Auto_Open
สมมติ เราต้องการปรับหน้าจอของแฟ้มที่เปิดขึ้นมาให้ดูเหมือนกระดาษทำการ หาทางทำให้ไม่มีลักษณะใดที่จะบ่งบอกว่าเป็นตารางพื้นที่ Worksheet ทั้งนี้อาจใช้กับการเสนอผลงาน Presentation หรือใช้งานทั่วไปที่ต้องการปิดบังไม่ให้ผู้ใช้ Excel สงสัยหรือรู้ว่า หน้าจอที่เปิดขึ้นนั้นเป็นตาราง Excel
(หลักการใช้ Excel ที่ดี เมื่อสร้างงานเสร็จแล้ว ควรปรับสภาพหน้าจอให้ดูเหมือนกระดาษ เพื่อทำให้ผู้ใช้งานรู้สึกเหมือนว่า ตนกำลังทำงานอยู่บนหน้ากระดาษที่ตนเองคุ้นเคย ไม่ใช่ตาราง Excel เพื่อทำให้ผู้ใช้เกิดความสบายใจมากขึ้น)
เริ่มต้นบันทึก Macro โดยกำหนดชื่อ Macro Name : Auto_Open และเลือกใช้ Ctrl+q เป็น Shortcut Key แล้วบันทึกขั้นตอนคำสั่งต่อไปนี้
- สั่ง Tools > Options > Calculation > กาช่อง Manual
- สั่ง Tools > Options > View > ตัดกาช่อง Gridlines เื่พื่อตัดเส้นตาราง
- สั่ง Tools > Options > View > ตัดกาช่อง Row & column headers เพื่อตัดหัวตารางที่บอกว่าเป็น row และ column ใด
- สั่ง Tools > Options > View > ตัดกาช่อง Horizontal scroll bar เพื่อตัดแถบเคลื่อนจอด้านล่างที่เลื่อนเพื่อขยับพื้นที่ตามแนวนอน
- สั่ง Tools > Options > View > ตัดกาช่อง Vertical scroll bar เพื่อตัดแถบเคลื่อนจอด้านขวามือที่เลื่อนเพื่อขยับพื้นที่ตามแนวตั้ง
- สั่ง Tools > Options > View > ตัดกาช่อง Sheet tabs เพื่อตัดแถบชื่อชีท
- สั่ง View > Full Screen เพื่อตัดเมนูทิ้ง ขยายพื้นที่แสดงตาราง
ชุดคำสั่งที่เกิดขึ้น (บรรทัดที่มี Comment *** ตัดทิ้งได้)
Sub Auto_Open()
'
' Auto_Open Macro
' Macro recorded 4/11/2006 by Somkiat Foongkiat
'
' Keyboard Shortcut: Ctrl+q
'
With Application
.Calculation = xlManual
.MaxChange = 0.001 '***
End With
ActiveWorkbook.PrecisionAsDisplayed = False '***
With ActiveWindow
.DisplayGridlines = False
.DisplayHeadings = False
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
.DisplayWorkbookTabs = False
End With
Application.DisplayFullScreen = True
End Sub
เมื่อสั่งให้ Auto_Open ทำงาน จะปรับระบบการคำนวณเป็น Manual และหน้าจอให้ดูเหมือนกระดาษ

ขั้นตอนการบันทึก Macro ชื่อ Auto_Close
ขั้นตอนที่ใช้บันทึก Macro ในชื่อ Auto_Close นั้น จำง่ายๆว่า ทำตามขั้นตอนของ Auto_Open เพียงแต่ให้ทำตรงกันข้ามให้หมด (หรือจะเพิ่มคำสั่งอื่นก็ได้ที่เห็นว่า ควรปรับระบบของ Excel ให้เหมาะกับงานทั่วไป)
เริ่มต้นบันทึก Macro โดยกำหนดชื่อ Macro Name : Auto_Close และเลือกใช้ Ctrl+w เป็น Shortcut Key แล้วบันทึกขั้นตอนคำสั่งต่อไปนี้
- สั่ง Tools > Options > Calculation > กาช่อง Automatic
- สั่ง Tools > Options > View > กาช่อง Gridlines
- สั่ง Tools > Options > View > กาช่อง Row & column headers
- สั่ง Tools > Options > View > กาช่อง Horizontal scroll bar
- สั่ง Tools > Options > View > กาช่อง Vertical scroll bar
- สั่ง Tools > Options > View > กาช่อง Sheet tabs
- สั่ง View > Full Screen เพื่อแสดงเมนูตามเดิม
ชุดคำสั่งที่เกิดขึ้น (บรรทัดที่มี Comment *** ตัดทิ้งได้)
Sub Auto_Close()
'
' Auto_Close Macro
' Macro recorded 4/11/2006 by Somkiat Foongkiat
'
' Keyboard Shortcut: Ctrl+w
'
With Application
.Calculation = xlAutomatic
.MaxChange = 0.001 '***
End With
ActiveWorkbook.PrecisionAsDisplayed = False '***
With ActiveWindow
.DisplayGridlines = True
.DisplayHeadings = True
.DisplayHorizontalScrollBar = True
.DisplayVerticalScrollBar = True
.DisplayWorkbookTabs = True
End With
Application.DisplayFullScreen = False
End Sub
เมื่อสั่งให้ Auto_Close ทำงาน จะปรับระบบการคำนวณเป็น Automatic และหน้าจอกลับสู่สภาพเดิม

ทดลองแก้ไขรหัสให้ทำงานกลับไปกลับมาทุกครั้งที่สั่งให้ทำงาน
ขอให้สังเกตรหัสที่ได้จากการบันทึก Macro ข้างต้น จะเห็นว่าใช้คำสั่งให้เท่ากับ True หรือ False เพื่อสั่งให้ทำหรือไม่ทำตาม ซึ่งหมายถึงสั่งให้ทำตรงกันข้ามกับสถานะเดิม ดังนั้นเราจึงสามารถใช้รหัสคำสั่งต่อไปนี้ เพื่อปรับการแสดง Full Screen ให้กลับไปซ่อนเมนูแล้วกลับมาตามเดิมได้ โดยใช้คำสั่งบรรทัดเดียวและใช้รหัส NOT ช่วยให้ทำงานกลับกัน ดังนี้
Sub ReverseFullScreen()
Application.DisplayFullScreen = Not Application.DisplayFullScreen
End Sub
ทุกครั้งที่รหัสคำสั่งชุดนี้ทำงาน จะปรับหน้าจอให้ตรงกันข้ามกับสถานะเดิม เช่น ถ้าเดิมไม่ได้เป็น Full Screen พอใช้คำสั่งนี้จะกลายเป็น Full Screen แต่ถ้าสั่งซ้ำอีกครั้งจะกลับเป็นสภาพเดิมที่ไม่ได้เป็น Full Scren
