VBA - Excel หยุดตอบสนอง - ตารางนำไปใช้กับแผ่นงานทั้งหมดหรือไม่
ฉันมีปุ่มที่เรียกมาโครแยกกันหลายอัน ทุกอย่างทำงานได้ตามที่คาดหวัง แต่มีข้อยกเว้น 1 ข้อ ฉันต้องป้อนสูตรในแถวที่ 2 ของคอลัมน์ที่แยกกันสี่คอลัมน์และให้ลากสูตรไปยังแถวสุดท้ายที่มีประชากร เพื่อให้บรรลุ "ง่าย" ฉันได้เพิ่มมาโครที่จะเลือกจาก A1: AK700 (ไม่ควรมีมากกว่า 500 แถวดังนั้นฉันไปที่ 700 เพื่อความปลอดภัย) และสร้างตาราง จากนั้นสูตรเป็นอินพุต (ฉันทำตารางเพื่อให้สูตรลงไปที่แถวสุดท้ายที่มีประชากรโดยอัตโนมัติ) ฉันมีมาโครเพื่อเลือกช่วงเดียวกันและแปลงเป็นช่วง ในที่สุดฉันมีมาโครที่ทำงานหลังจากทั้งหมดนี้เพื่อคัดลอกและวางค่าจากนั้นใช้แท็บสองแท็บแล้วสร้างไฟล์ใหม่พร้อมสำเนาของแท็บเหล่านั้น ทุกอย่างทำงานอย่างถูกต้อง แต่ในบางจุดหลังจากแปลงเป็นช่วง (หรือรอบ ๆ ส่วนของกระบวนการนั้น) Excel จะช้าลงมากหยุดการตอบสนองชั่วขณะหนึ่งจากนั้นก็เริ่มต้นใหม่อีกครั้ง เมื่อทุกอย่างทำงานฉันจะไปที่ไฟล์ต้นฉบับและไฟล์ที่สร้างขึ้นใหม่และการจัดรูปแบบตารางจะถูกนำไปใช้กับทั้งแผ่นงาน (จนถึงเซลล์จนถึง 1,048,000!) เห็นได้ชัดว่านี่คือเหตุผลว่าทำไมจึงใช้เวลานานและสิ้นสุดการตอบสนองใช่ไหม ฉันจะหยุดสิ่งนี้ได้อย่างไร ฉันกำลังวางรหัสตามลำดับที่เรียกใช้จากจุดสร้างตาราง ฉันไม่มีประสบการณ์การเขียนมาโครมาก (ประมาณหนึ่งเดือน) ดังนั้นความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชม !! และทั้งหมดนี้จำเป็นต้องทำด้วยมาโคร พวกเขาต้องการให้มันเกิดขึ้นเพียงคลิกปุ่มเดียว รหัส: Sub CreateTable() Sheet1.ListObjects.Add(xlSrcRange, Range("A1:AK500"), , …