Note: The other languages of the website are Google-translated. Back to English
English English

จะตรวจสอบขนาดของสมุดงานแต่ละแผ่นได้อย่างไร?

สมมติว่าคุณมีสมุดงานขนาดใหญ่ซึ่งมีแผ่นงานหลายแผ่นและตอนนี้คุณต้องการหาขนาดของแผ่นงานแต่ละแผ่นเพื่อพิจารณาว่าจะต้องลดขนาดแผ่นงานใด มีวิธีการที่รวดเร็วในการจัดการกับงานนี้หรือไม่?

ตรวจสอบขนาดของแต่ละแผ่นงานด้วยรหัส VBA

ตรวจสอบขนาดของแต่ละแผ่นงานด้วย Kutools for Excel

แท็บ Office เปิดใช้งานการแก้ไขและเรียกดูแบบแท็บใน Office และทำให้งานของคุณง่ายขึ้นมาก ...
Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%
  • ใช้ซ้ำอะไรก็ได้: เพิ่มสูตรที่ใช้มากที่สุดหรือซับซ้อนแผนภูมิและสิ่งอื่นใดในรายการโปรดของคุณและนำกลับมาใช้ใหม่ได้อย่างรวดเร็วในอนาคต
  • คุณสมบัติข้อความมากกว่า 20 รายการ: แยกหมายเลขจากสตริงข้อความ แยกหรือลบบางส่วนของข้อความ แปลงตัวเลขและสกุลเงินเป็นคำภาษาอังกฤษ
  • ผสานเครื่องมือ: สมุดงานและแผ่นงานหลายเล่มเป็นหนึ่งเดียว ผสานหลายเซลล์ / แถว / คอลัมน์โดยไม่สูญเสียข้อมูล รวมแถวและผลรวมที่ซ้ำกัน
  • แยกเครื่องมือ: แยกข้อมูลออกเป็นหลายแผ่นตามมูลค่า; สมุดงานหนึ่งเล่มเป็นไฟล์ Excel, PDF หรือ CSV หลายไฟล์ หนึ่งคอลัมน์ถึงหลายคอลัมน์
  • วางการข้าม แถวที่ซ่อน / กรอง; นับและผลรวม โดย Background Color; ส่งอีเมลส่วนบุคคลไปยังผู้รับหลายคนในกลุ่ม
  • ซุปเปอร์กรอง: สร้างโครงร่างตัวกรองขั้นสูงและใช้กับแผ่นงานใด ๆ ประเภท ตามสัปดาห์วันความถี่และอื่น ๆ กรอง by ตัวหนาสูตรคอมเม้น ...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ ทำงานร่วมกับ Office 2007-2019 และ 365; รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ

ลูกศรสีฟ้าฟองขวา ตรวจสอบขนาดของแต่ละแผ่นงานด้วยรหัส VBA


ด้วยรหัส VBA ต่อไปนี้คุณสามารถรับขนาดของแต่ละแผ่นงานในสมุดงานของคุณได้อย่างรวดเร็ว กรุณาทำตามนี้:

1. กด ALT + F11 และจะเปิดไฟล์ หน้าต่าง Microsoft Visual Basic for Applications.

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ หน้าต่างโมดูล.

รหัส VBA: ตรวจสอบขนาดของแต่ละแผ่นงานในสมุดงาน </ p>

Sub WorksheetSizes()
'Update 20140526
Dim xWs As Worksheet
Dim Rng As Range
Dim xOutWs As Worksheet
Dim xOutFile As String
Dim xOutName As String
xOutName = "KutoolsforExcel"
xOutFile = ThisWorkbook.Path & "\TempWb.xls"
On Error Resume Next
Application.DisplayAlerts = False
Err = 0
Set xOutWs = Application.Worksheets(xOutName)
If Err = 0 Then
    xOutWs.Delete
    Err = 0
End If
With Application.ActiveWorkbook.Worksheets.Add(Before:=Application.Worksheets(1))
    .Name = xOutName
    .Range("A1").Resize(1, 2).Value = Array("Worksheet Name", "Size")
End With
Set xOutWs = Application.Worksheets(xOutName)
Application.ScreenUpdating = False
xIndex = 1
For Each xWs In Application.ActiveWorkbook.Worksheets
    If xWs.Name <> xOutName Then
        xWs.Copy
        Application.ActiveWorkbook.SaveAs xOutFile
        Application.ActiveWorkbook.Close SaveChanges:=False
        Set Rng = xOutWs.Range("A1").Offset(xIndex, 0)
        Rng.Resize(1, 2).Value = Array(xWs.Name, VBA.FileLen(xOutFile))
        Kill xOutFile
        xIndex = xIndex + 1
    End If
Next
Application.ScreenUpdating = True
Application.Application.DisplayAlerts = True
End Sub

3. จากนั้นกด F5 คีย์เพื่อรันโค้ดนี้และเวิร์กชีตใหม่ชื่อ KutoolsforExcel จะถูกแทรกลงในสมุดงานปัจจุบันซึ่งมีชื่อแผ่นงานและขนาดไฟล์แต่ละแผ่นและหน่วยคือ Bit ดูภาพหน้าจอ:

doc-check-sheet-size1


ลูกศรสีฟ้าฟองขวา ตรวจสอบขนาดของแต่ละแผ่นงานด้วย Kutools for Excel

ถ้าคุณมี Kutools สำหรับ Excelเดียวกันกับที่ แยกสมุดงาน ยูทิลิตี้คุณสามารถแบ่งสมุดงานทั้งหมดออกเป็นไฟล์แยกกันจากนั้นไปที่โฟลเดอร์เฉพาะเพื่อตรวจสอบขนาดของแต่ละไฟล์

Kutools สำหรับ Excel มีเครื่องมือ Excel ที่มีประโยชน์มากกว่า 300 รายการ ทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน Get it Now.

หลังจากติดตั้ง Kutools for Excel แล้วให้ทำตามขั้นตอนต่อไปนี้:

1. เปิดเวิร์กบุ๊กที่คุณต้องการตรวจสอบขนาดของแต่ละเวิร์กชีตแล้วคลิก Enterprise > เครื่องมือสมุดงาน > แยกสมุดงานดูภาพหน้าจอ:

doc-check-sheet-size1

2. ใน แยกสมุดงาน โต้ตอบตรวจสอบแผ่นงานทั้งหมดแล้วคลิก แยก จากนั้นระบุโฟลเดอร์ที่จะใส่ไฟล์สมุดงานใหม่ ดูภาพหน้าจอ:

doc-check-sheet-size3
-1
doc-check-sheet-size4

3. จากนั้นแผ่นงานแต่ละแผ่นของสมุดงานปัจจุบันของคุณจะถูกบันทึกเป็นไฟล์ Excel แยกกันคุณสามารถไปที่โฟลเดอร์เฉพาะของคุณเพื่อตรวจสอบขนาดของสมุดงานแต่ละเล่ม

doc-check-sheet-size1

หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับคุณลักษณะ Split Workbook นี้


บทความที่เกี่ยวข้อง:

วิธีแบ่งสมุดงานเพื่อแยกไฟล์ Excel ใน Excel

วิธีการส่งออกและบันทึกแผ่นงานและแผ่นงานเป็นสมุดงานใหม่ใน Excel


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (9)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มีประโยชน์มาก ขอขอบคุณ!!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอขอบคุณที่ให้ข้อมูลโค้ดแก่สาธารณะ เป็นหนึ่งในกิจวัตรที่ดีกว่าที่ฉันพบ นี่คือการปรับแต่งเล็กน้อย: 1) เพิ่ม "Dim xIndex as Long" ที่ด้านบนสุด หากคุณใช้ Option Explicit 2) เพิ่มสิ่งนี้ภายใน For loop เพื่อจัดการชีตที่ซ่อนอยู่ (มิฉะนั้นจะเกิดความผิดพลาด): xWs.Visible = xlSheetVisible 3) หากคุณมีชีต "chart" แบบเต็มหน้า คุณต้องคัดลอกโค้ดสำหรับลูปและวนซ้ำผ่านแอปพลิเคชัน คอลเลกชัน ActiveWorkbook.Charts หากคุณทำเช่นนี้ ให้เปลี่ยนการประกาศ xWs จาก "Sheet" เป็น "Object" 4) สำหรับตัวบ่งชี้สถานะราคาถูก (หรือสำหรับปัญหาการดีบัก) ให้เพิ่มบรรทัดนี้ใน For loop: Debug.Print "Calculating Worksheet Sizes, Sheet" & xIndex & " of " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.ชื่อ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีเบ็น คุณช่วยเติมข้อความทั้งสตริงใหม่ด้วยรายการ #2 และ #4 จากอีเมลของคุณที่เพิ่มเข้าไปได้ไหม ความรู้ VBA ของฉันค่อนข้างจำกัด และฉันไม่แน่ใจว่าจะเพิ่มลงใน For loop ได้ที่ไหน สมุดงานของฉันมีแผ่นงานที่ซ่อนอยู่จำนวนหนึ่งและหยุดทำงานระหว่างการดำเนินการแมโคร ขอบคุณบ๊อบ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
นี่คือสำเนาของกิจวัตรที่มีการปรับปรุงบางอย่างที่ฉันเพิ่มเข้าไป ฉันต้องแบ่งออกเป็นหลายโพสต์เนื่องจากไซต์จำกัด ขนาดแผ่นงานย่อยสาธารณะ () 'อัปเดต 20140526' https://www.extendoffice.com/documents/excel/1682-excel-check-size-of-each-sheet.html<br />' ' BS 4/4/2016: แก้ไขให้มีแถบสถานะและจัดรูปแบบเอาต์พุต ' แก้ไขสำหรับแผ่นงานที่ซ่อนอยู่ซึ่งทำให้เกิดปัญหา ' เพิ่มการสนับสนุนสำหรับแผ่นงานแผนภูมิ Dim xWs เป็นวัตถุ ' แผ่นงานหรือแผนภูมิ Dim rng เป็นช่วง Dim xOutWs เป็นแผ่นงาน Dim xOutFile As String Dim xOutName As String Dim xIndex ตราบใดที่มีข้อผิดพลาด GoTo ErrorHandler Application.Cursor = xlWait xOutName = "KutoolsForFile" ThisWorkbook.Path & "\TempWb.xls" เมื่อเกิดข้อผิดพลาด Resume Next Application.DisplayAlerts = False Err = 0 ตั้งค่า xOutWs = Application.Worksheets (xOutName) หาก Err = 0 จากนั้น xOutWs.Delete Err = 0 End ถ้าด้วย Application.ActiveWorkbook.Worksheets .Add(Before:=Application.Worksheets(1)) .Name = xOutName .Range("A1")).Resize(1, 2).Value = Array("Worksheet Name", "Size") ลงท้ายด้วย Set xOutWs = Application.Worksheets(xOutName) Application.ScreenUpdating = False xIndex = 1 Debug.Print ThisWorkbook.Path For xWs แต่ละรายการใน Application.ActiveWorkbook.Worksheets ถ้า xWs.Name xOutName แล้ว Application.StatusBar = "การคำนวณขนาดแผ่นงาน แผ่นงาน " & xIndex & " ของ " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name Debug.Print "กำลังคำนวณ W orksheet Sizes, ชีต " & xIndex & " ของ " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name DoEvents ' รวมไว้ด้วยเพื่อให้สามารถตรวจจับ CTRL+Break ได้ '---วางแบ่ง---
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
' ส่วนที่ 2 จาก 3 '--- วางตัวแบ่ง --- xWs.Visible = xlSheetVisible ' xOutFile = ThisWorkbook.Path & "\" & xWs.Name & ".xls" xWs.CopyQ Application.ActiveWorkbook.SaveAs xOutFile Application.ActiveWorkbook .Close SaveChanges:=False Set rng = xOutWs.Range("A1")).Offset(xIndex, 0) rng.Resize(1, 2).Value = Array(xWs.Name, VBA.FileLen(xOutFile)) ฆ่า xOutFile xIndex = xIndex + 1 End If Next ' ทำซ้ำด้านบนสำหรับแผ่นแผนภูมิ สำหรับแต่ละ xWs ใน Application.ActiveWorkbook.Charts ถ้า xWs.Name xOutName จากนั้น Application.StatusBar = "การคำนวณขนาดเวิร์กชีต แผ่นงาน " & xIndex & " ของ " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name Debug พิมพ์ "การคำนวณขนาดเวิร์กชีต, แผ่นงาน" & xIndex & " ของ " & ActiveWorkbook.Worksheets.count - 1 & " - " & xWs.Name DoEvents ' รวมสิ่งนี้ด้วยเพื่อให้สามารถตรวจพบ CTRL+Break xWs.Visible = xlSheetVisible xOutFile = ThisWorkbook.Path & "\" & xWs.Name & ".xls" xWs.Copy Application.ActiveWorkbook.SaveAs xOutFile Application.ActiveWorkbook.Close SaveChanges:=False Set rng = xOutWs.Range("A1 ").Offset(xIndex, 0) rng.Resize(1, 2).Value = Array(xWs.Name, VBA.FileLen(xOutFile)) 'Kill xOutFile xIndex = xIndex + 1 End If Next '--- วางตัวแบ่ง ---
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
' ส่วนที่ 3 จาก 3 '--- วางตัวแบ่ง --- ' จัดรูปแบบแผ่นงานผลลัพธ์ Application.Sheets(xOutName).Activate Columns("B:B")).Select Selection.NumberFormat = "#,##0_);( #,##0)" Columns("A:B")).Select Columns("A:B")).EntireColumn.AutoFit Range("A1")).Select ' ยิ่งไปกว่านั้น จัดรูปแบบเป็นตาราง ActiveSheet.ListObjects.Add(xlSrcRange, Range("A1:B" & xIndex), , xlYes).Name = "WorksheetSizes" Application.ScreenUpdating = True Application.Application.DisplayAlerts = True Application.StatusBar = "" Application.Cursor = xlDefault Exit Sub ErrorHandler: MsgBox "Error #" & Err.Number & " - " & Err.Description & vbCrLf & "ในขั้นตอน WorksheetSizes" End Sub
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
มีประโยชน์มากมากมากมากมาก
ขอขอบคุณ!!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ขอบคุณครับ มีประโยชน์มาก
ฉันมีสูตรที่ไม่จำเป็นมากมายในชีตและฉันเพิ่งลบไปว่าตอนนี้ไฟล์ทำงานได้ดี
ทั้งหมดนี้เกิดขึ้นเพียงเพราะฉันหาขนาดของแต่ละแผ่นได้
ขอบคุณอีกครั้ง.

แอนสัน
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
น่าจะเพิ่มระหว่างบรรทัดที่ 9 ถึง 10 เผื่อไว้เผื่อบางแผ่นถูกซ่อนไว้เพื่อหลีกเลี่ยงไม่ให้โค้ดขัดข้อง
สำหรับแต่ละ xWs ในชีต: xWs.Visible = True: Next
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ