如何检查工作簿中每个工作表的尺寸?


众所周知,当您右键单击 Excel 文件时,您可以查看其属性和大小。但是,当您想了解文件内各个工作表的大小时该怎么办?

会计师和数据分析师维护包含多个工作表的大型 Excel 工作簿。了解文件大小可以帮助确定分析它的最佳方法。有些人可能希望从较大的工作表开始,或者有些人可能希望从较小的工作表开始。通常,一张表占据工作簿的大部分空间。

本教程说明如何在工作簿中识别每个工作表的大小。

用于确定 Excel 工作簿中工作表大小的 VBA 代码

您需要共享一个 Excel 文件,但它太大而无法发送。它包含 7 个工作表,您想知道哪个工作表可以缩减,以便可以有效地完成此任务。使用 Excel 中的 Visual Basic 应用程序 (VBA) 代码,您可以快速确定工作簿中所有工作表的大小,而不管工作簿中有多少个工作表,这些信息都会显示在一个独立的工作表中。

步骤 1 - 打开您要确定其中工作表大小的工作簿文件。


步骤 2 - 转到“开发工具”选项卡,然后单击“Visual Basic”选项以打开对话框。或者,您也可以通过按 Alt + F11 键打开对话框。


步骤 3 - 对话框出现后,右键单击“Microsoft Excel 对象”以获取更多选项,然后选择插入→模块。


步骤 4 - 将 VBA 代码键入或粘贴到模块编辑器部分,该部分是屏幕右上侧的白色框。

检查工作簿中工作表大小的 Microsoft Excel VBA 代码 -

Sub WorksheetSizes()
   Dim wks As Worksheet
   Dim c As Range
   Dim sFullFile As String
   Dim sReport As String
   Dim sWBName As String
   sReport = "Size Report"
   sWBName = "Erase Me.xls"
   sFullFile = ThisWorkbook.Path & _
      Application.PathSeparator & sWBName
      ' Add new worksheet to record sizes
      On Error Resume Next
      Set wks = Worksheets(sReport)
      If wks Is Nothing Then
         With ThisWorkbook.Worksheets.Add(Before:=Worksheets(1))
            .Name = sReport
            .Range("A1").Value = "Worksheet Name"
            .Range("B1").Value = "Approximate Size"
         End With
      End If
      On Error GoTo 0
      With ThisWorkbook.Worksheets(sReport)
         .Select
         .Range("A1").CurrentRegion.Offset(1, 0).ClearContents
         Set c = .Range("A2")
      End With
      Application.ScreenUpdating = False
      ' Loop through worksheets
      For Each wks In ActiveWorkbook.Worksheets
         If wks.Name <> sReport Then
            wks.Copy
            Application.DisplayAlerts = False
            ActiveWorkbook.SaveAs sFullFile
            ActiveWorkbook.Close SaveChanges:=False
            Application.DisplayAlerts = True
            c.Offset(0, 0).Value = wks.Name
            c.Offset(0, 1).Value = FileLen(sFullFile)
            Set c = c.Offset(1, 0)
            Kill sFullFile
         End If
      Next wks
      Application.ScreenUpdating = True
End Sub


步骤 5 - 单击面板中的第二个按钮“运行程序”按钮或按 F5 键执行代码。


步骤 6 - 返回到您的 Excel 工作簿以查看有关工作表的信息。


如 VBA 代码中所述,创建了一个名为“大小报告”的新工作表。它包含一个表格,其中包含有关当前工作簿中所有工作表的大小信息。根据表格,工作表 1 是最小的工作表。

结论

Excel 是一款生产力软件,您可以在一个或多个工作表中输入大量数据。它可以包含注释、客户列表、任务、研究数据、公式、文本、图表、声音文件和其他类型的数据。一个工作表在单元格数量方面可能比另一个工作表大,但有些工作表在对象数量方面可能更大。我们使用 VBA 代码将所有大小信息合并到一个工作表中。

更新于: 2022 年 9 月 20 日

5K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告