ถ้าเราต้องคอยควบคุมการทำงานของชุดคำสั่งทั้งหมด ตั้งแต่ต้นจนจบด้วยตนเอง คงเสียเวลาและเป็นเรื่องน่าเบื่อมิใช่น้อย ยิ่งมีขั้นตอนสลับซับซ้อนมากขึ้นเท่าใด ยิ่งต้องคอยให้ความใส่ใจ ใช้ความระมัดระวังในการตัดสินใจเลือกสั่ง run macro ชุดคำสั่งที่ถูกต้อง เพราะเมื่อสั่งให้ macro ทำงานไปแล้ว ไม่มีทางที่จะสั่ง undo เหมือนกับที่ใช้คำสั่งบนเมนู ให้งานที่ทำไปแล้วคืนกลับสู่สภาพเดิมได้อีก
แทนที่จะต้องคอยตัดสินใจควบคุมการทำงานของ macro ในทุกขั้นตอนด้วยตนเอง เราสามารถใช้รหัส VBA ต่อไปนี้ช่วยตัดสินใจเลือกสั่งงานแทน
- If...Then...Else Statements เหมาะสำหรับใช้ตัดสินใจเลือกขั้นตอนง่ายๆ หรือมีเงื่อนไขและใช้ตัวแปรซับซ้อนต่อเนื่องกันหลายชั้น
- Select Case Statements เหมาะสำหรับใช้ตัดสินใจได้แทนแบบ If เพียงแต่แบบ Select Case มีโครงสร้างที่ง่ายต่อการนำตัวแปรตัวเดิมไปใช้เปรียบเทียบ
ข้อควรระวัง
ในชุดคำสั่งแบบ Sub Procedure โปรดเลือกใช้รหัส If...Then...Else หรือ Select Case ช่วยเฉพาะการตัดสินใจควบคุมการสั่งงานของชุดคำสั่ง โดยพยายามหลีกเลี่ยง อย่านำไปใช้ในการเขียนรหัสคำนวณ หรือกำหนดค่าคงที่ใดๆลงไปใน VBE ทั้งนี้เพื่อช่วยให้ไม่ต้องย้อนกลับมาแก้ไขในตัวรหัสอีกในภายหลัง
ถ้าจำเป็นต้องใช้ผลลัพธ์จากการคำนวณ ควรใช้ Excel คำนวณแทน แล้วใช้ Range Name ส่งผลลัพธ์ที่คำนวณได้กลับมาใช้ตัดสินใจต่อใน VBE