🤗 snasui.com ยินดีต้อนรับ 🤗
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย 👍

💥 โปรดทราบ 💥
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ 👉🏾 สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ 👆🏾
    3. การ Login ผ่าน Facebook ดูวิธีที่ 👉🏾 Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ 👉🏾 Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ 👉🏾 ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ 👉🏾 ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ 👉🏾 วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ 👉🏾 จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ 👉🏾 กำหนดขนาดตัวอักษรใน Browser

Code ตรวจสอบขนาดของแต่ละชีตในไฟล์ที่มีขนาดใหญ่

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

Code ตรวจสอบขนาดของแต่ละชีตในไฟล์ที่มีขนาดใหญ่

#1

Post by snasui »

:D ท่านใดที่ทำงานกับไฟล์ขนาดใหญ่และมีชีตจำนวนมาก หากต้องการจะทราบว่าแต่ละชีตมีขนาดเท่าใดเพื่อจะได้เข้าถึงชีตที่มีขนาดใหญ่ได้อย่างรวดเร็วเพื่อจัดการลบส่วนที่เกินความจำเป็นในภายหลัง สามารถทำตามขั้นตอนด้านล่างครับ⁣⁣
  1. คลิก SELECT ALL แล้วกดแป้น Ctrl+C เพื่อคัดลอกเอาไว้ก่อน⁣⁣⁣⁣

    Code: Select all

    i = 0: application.screenupdating = false: application.calculation = xlcalculationmanual: application.displayalerts = false: set op = workbooks.add.worksheets(1): op.range("a1").resize(1,3).value = array("No","Sheet Name","Size (KB)"): set fs = createobject("scripting.filesystemobject"): thisworkbook.worksheets.add before:=thisworkbook.worksheets(1): cb = vba.replace(thisworkbook.fullname,".xl","_copy.xl"): for j = thisworkbook.worksheets.count to 2 step - 1: sn = thisworkbook.worksheets(j).name : thisworkbook.savecopyas cb: sz = fs.getfile(cb).size: thisworkbook.worksheets(j).delete: thisworkbook.savecopyas cb: i = i + 1: op.range("a" & op.rows.count).end(xlup).offset(1,0).resize(1,3).value = array(i,sn,format((sz - fs.getfile(cb).size)/1024,"0.00")): next j: op.range("a1:c1").entirecolumn.autofit: application.displayalerts = true: application.calculation = xlcalculationautomatic: application.screenupdating = true: vba.kill cb: thisworkbook.close false:⁣⁣⁣
  2. เปิดไฟล์ต้นทางที่ต้องการทราบขนาดของแต่ละชีต⁣⁣
  3. กดแป้น Alt+F11 เพื่อเปิดหน้าต่าง VBE ตามด้วย Ctrl+G เพื่อเปิด Immediate Window จากนั้น Ctrl+V เพื่อวาง Code ตามข้อ 1 และไม่ลืมกดแป้น Enter⁣⁣
  4. ผลลัพธ์จะถูกวางในไฟล์ที่เปิดขึ้นมาใหม่ เป็นข้อมูลแสดงขนาดของแต่ละชีตของไฟล์นั้น⁣