:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

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

ฟอรัมสำหรับแจกจ่ายแบ่งปันไฟล์ รวมทั้งแหล่งความรู้ต่าง ๆ เกี่ยวกับ Excel
User avatar
snasui
Site Admin
Site Admin
Posts: 30698
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#1

Post 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. ปิดไฟล์และเช็คขนาดไฟล์