Code สำหรับตรวจสอบพื้นที่ที่มีการสำรองไว้ในแต่ละชีต
Posted: Sun Sep 11, 2022 6:10 pm
ท่านใดที่พบปัญหาไฟล์ใหญ่โดยไม่ทราบสาเหตุ สามารถนำ Code ด้านล่างนี้ไปตรวจสอบพื้นที่ที่มีการสำรองไว้ในแต่ละชีตเพื่อจัดการลบพื้นที่ส่วนเกินทิ้งในภายหลังได้ โดยทำตามขั้นตอนด้านล่างครับ
- คลิก SELECT ALL > กดแป้น Ctrl+C เพื่อคัดลอกเอาไว้ก่อน
Code: Select all
i = 0: set t = workbooks.Add.Worksheets(1): t.range("a1:c1").value = array("No","Sheet Name","Used Range"): for each sh in thisworkbook.worksheets:i = i + 1: t.range("a" & t.rows.count).end(xlup).offset(1,0).resize(1,3).value = array(i,sh.name,sh.usedrange.address(0,0)): next sh: t.range("a1:c1").entirecolumn.autofit:
- เปิดไฟล์ต้นทางที่พบปัญหาว่ามีขนาดใหญ่อย่างไม่ทราบสาเหตุ
- กดแป้น Alt+F11 เพื่อเปิดหน้าต่าง VBE ตามด้วย Ctrl+G เพื่อเปิด Immediate Window จากนั้น Ctrl+V เพื่อวาง Code ตามข้อ 1 ตามด้วยกดแป้น Enter
- ผลลัพธ์จะถูกวางในไฟล์ที่เปิดขึ้นมาใหม่เป็นข้อมูลการสำรองพื้นที่การใช้งานของแต่ละชีตของไฟล์นั้นมาให้ตรวจสอบ
- จัดการลบพื้นที่ส่วนเกินของแต่ละชีตโดย คลุมทุกบรรทัดว่างหลังมีข้อมูล จากนั้นคลิกขวาและเลือก Delete ทำซ้ำในแนวคอลัมน์ เมื่อทำครบแล้วกดแป้น Ctrl+Home เพื่อเลือก A1 แล้วกดปุ่ม Ctrl+S เพื่อ Save
- ปิดไฟล์และเช็คขนาดไฟล์