如何查看工作簿中每个工作表的大小?

ms excelmicrosoft technologiesadvanced excel function更新于 2025/5/5 18:52:17

众所周知,右键单击 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 代码将所有大小信息合并到一个工作表中。


相关文章


有用资源