Page 1 of 1

Code สำหรับตรวจสอบพื้นที่ที่มีการสำรองไว้ในแต่ละชีต

Posted: Sun Sep 11, 2022 6:10 pm
by snasui
:D ท่านใดที่พบปัญหาไฟล์ใหญ่โดยไม่ทราบสาเหตุ สามารถนำ Code ด้านล่างนี้ไปตรวจสอบพื้นที่ที่มีการสำรองไว้ในแต่ละชีตเพื่อจัดการลบพื้นที่ส่วนเกินทิ้งในภายหลังได้ โดยทำตามขั้นตอนด้านล่างครับ⁣
  1. คลิก 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:⁣
  2. เปิดไฟล์ต้นทางที่พบปัญหาว่ามีขนาดใหญ่อย่างไม่ทราบสาเหตุ⁣⁣
  3. กดแป้น Alt+F11 เพื่อเปิดหน้าต่าง VBE ตามด้วย Ctrl+G เพื่อเปิด Immediate Window จากนั้น Ctrl+V เพื่อวาง Code ตามข้อ 1 ตามด้วยกดแป้น Enter⁣
  4. ผลลัพธ์จะถูกวางในไฟล์ที่เปิดขึ้นมาใหม่เป็นข้อมูลการสำรองพื้นที่การใช้งานของแต่ละชีตของไฟล์นั้น⁣มาให้ตรวจสอบ
  5. จัดการลบพื้นที่ส่วนเกินของแต่ละชีตโดย คลุมทุกบรรทัดว่างหลังมีข้อมูล จากนั้นคลิกขวาและเลือก Delete ทำซ้ำในแนวคอลัมน์ เมื่อทำครบแล้วกดแป้น Ctrl+Home เพื่อเลือก A1 แล้วกดปุ่ม Ctrl+S เพื่อ Save⁣⁣
  6. ปิดไฟล์และเช็คขนาดไฟล์