คุณ จำกัด การใช้ CPU ของ Microsoft Excel อย่างไรเมื่อเรียกใช้ฟังก์ชัน VBA
หากคุณมีฟังก์ชั่น VBA ที่เปลี่ยน Microsoft Excel ให้กลายเป็นสัตว์เคี้ยวซีพียูเป็นไปได้ไหมที่จะทำให้เชื่องลงเพื่อให้คุณสามารถใช้คอมพิวเตอร์ของคุณต่อไปสำหรับกิจกรรมอื่น ๆ ในขณะที่ Excel กำลังจะจบ โพสต์ SuperUser Q&A วันนี้มาช่วยผู้อ่านที่หงุดหงิดได้รับ Excel กลับมาภายใต้การควบคุม.
เซสชั่นคำถามและคำตอบในวันนี้มาถึงเราด้วยความอนุเคราะห์จาก SuperUser - แผนกย่อยของ Exchange Exchange ซึ่งเป็นกลุ่มที่ขับเคลื่อนด้วยชุมชนของเว็บไซต์ถาม - ตอบ.
นักรบคนต่างด้าวภาพตัดปะมารยาทของ Clker.com.
คำถาม
การเรียนรู้ของผู้อ่าน SuperUser Asigo ต้องการทราบว่ามีวิธี จำกัด การใช้ CPU ของ Microsoft Excel หรือไม่ในขณะที่เรียกใช้สคริปต์ VBA บนคอมพิวเตอร์ของเขา:
มีวิธี จำกัด การใช้ CPU ของ Microsoft Excel เมื่อใช้งานหรือไม่ ฉันมีสคริปต์ VBA ที่คำนวณสูตรอาร์เรย์ขนาดใหญ่จำนวนมาก การคำนวณทั้งชุดใช้เวลาประมาณยี่สิบนาทีจึงจะเสร็จสมบูรณ์และใช้ CPU ของฉัน 100 เปอร์เซ็นต์ ฉันไม่สามารถใช้คอมพิวเตอร์ได้ในช่วงเวลานี้และต้องการให้ Excel 'ทำงานเป็นแบ็คกราวน์' ในขณะที่ใช้ CPU ประมาณ 50 เปอร์เซ็นต์ของความสามารถของซีพียูของฉันเพื่อให้ฉันสามารถทำสิ่งอื่น ๆ ต่อไปได้.
ข้อเสนอแนะใด ๆ ระบบปฏิบัติการของคอมพิวเตอร์ของฉันคือ Windows 7 Enterprise 64 บิตโดยมี Excel 2007 รุ่น 32 บิตติดตั้งอยู่.
มีวิธี จำกัด การใช้ CPU ของ Microsoft Excel หรือไม่ในขณะที่ใช้งาน VBA?
คำตอบ
ริงโทนผู้สนับสนุน SuperUser มีคำตอบสำหรับเรา:
หากมีการเรียกใช้ฟังก์ชัน VBA จากสูตรหลายสูตรหรือหากสคริปต์ของคุณสร้างหรือบังคับให้คำนวณใหม่ของหลายสูตรสูตรนี้ควรใช้ประโยชน์จากคุณสมบัติการคำนวณแบบมัลติเธรดใน Microsoft Excel สิ่งนี้จะเรียกใช้ฟังก์ชัน VBA หลายอินสแตนซ์ของคุณสำหรับแต่ละสูตรหรือคำนวณหลายเซลล์พร้อมกันในขณะที่สคริปต์ VBA ของคุณทำงานบนเธรดเดียว.
คุณสามารถ จำกัด จำนวนเธรดที่ Excel ใช้เพื่อคำนวณสูตรใหม่ได้โดยไปที่ ตัวเลือก และเลือก มาตราขั้นสูง, จากนั้นเลื่อนลงไปจนสุด สูตร ส่วนย่อย.
มีสิ่งที่จะเพิ่มคำอธิบายหรือไม่ ปิดเสียงในความคิดเห็น ต้องการอ่านคำตอบเพิ่มเติมจากผู้ใช้ Stack Exchange คนอื่นหรือไม่ ลองอ่านหัวข้อสนทนาเต็มได้ที่นี่.