มีฟังก์ชั่น Sleep and Wait ใน VBA หรือผ่านการประกาศ อย่างไรก็ตาม "กฎง่าย ๆ สุดธรรมดา" คือการไม่ใช้ Sleep () (google '"ไม่ใช้ sleep ()" programming ")
หน้าเอกสารสำหรับ Application.Wait ( https://msdn.microsoft.com/en-us/library/office/ff822851.aspx ) โปรดทราบว่า Sleep and Wait จะทำให้ Excel ไม่ตอบสนองตามระยะเวลาที่คุณระบุและอาจทำให้ "Train wrecks" เป็นช่วงเวลาได้
หากการคำนวณของคุณเกี่ยวข้องกับการเรียงลำดับแล้ววิธีหนึ่งในการจัดการสิ่งนี้เพื่อวัตถุประสงค์เฉพาะของคุณ (ปรับเวลาการคำนวณสำหรับความพร้อมใช้งาน CPU) คือการสร้างฟังก์ชันรอพิเศษของคุณเองเช่นวนลูป DoEvents เป็นเวลา 1 วินาทีและ จากนั้นส่งคืน
DoEvents บอกรหัส / ล่ามของคุณเพื่อสละเวลาให้กับระบบปฏิบัติการ ฯลฯ มันจะทำให้รหัสของคุณใช้เวลานานขึ้น นอกจากนี้ยังช่วยให้คุณสามารถแก้ไขแผ่นงานในขณะที่การคำนวณกำลังดำเนินอยู่ดังนั้นระยะเวลาของคุณอาจแตกต่างกันไป ทดสอบ.
ดูตัวอย่างเช่นhttps://stackoverflow.com/questions/469347/is-there-an-equivalent-to-thread-sleep-in-vba