本文将讲述如何在Excel中获取到当前打开工作簿的每个工作表的数据大小。如何在Excel 2013/2016中获取工作簿中每个工作表的数据大小。

假设您有一个包含多个工作表的工作簿,并且您想知道当前工作簿中每个工作表的数据大小。本文将向你演示两种获取工作数据数据大小的方法。

  • 方法1:手动获取每个工作表的数据大小
  • 方法2:通过VBA宏获取每个工作表的数据大小

方法1:手动获取每个工作表的数据大小


您可以手动逐个获取每个工作表的数据大小,只需要在工作簿中复制Excel工作表的内容,然后创建一个新工作簿,并将内容粘贴到新工作簿中的sheet1中,然后将新工作簿保存到Windows文件夹。然后你可以得到这个新工作簿的大小。

您可以重复上述步骤,在工作簿中逐个获取其他工作表的数据大小。

方法2:通过VBA宏获取每个工作表的数据大小


如果要快速获取当前工作簿中每个工作表的数据大小,可以使用Excel VBA宏来完成它。只需执行以下步骤:

步骤1:打开您的Excel工作簿,然后单击开发工具选项卡下的“Visual Basic”,或者只需按“ALT + F11”快捷方式。

如何在Office Excel 2013/2016/2019中获取工作簿中每个工作表的数据大小

步骤2:然后将出现“Visual Basic编辑器”窗口。

如何在Office Excel 2013/2016/2019中获取工作簿中每个工作表的数据大小

步骤3:单击“插入” – >“模块”以创建新模块。

如何在Office Excel 2013/2016/2019中获取工作簿中每个工作表的数据大小

步骤4:将以下VBA代码粘贴到代码窗口中。然后单击“保存”按钮。

如何在Office Excel 2013/2016/2019中获取工作簿中每个工作表的数据大小

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:返回当前工作表,然后运行上面的excel宏。点击执行按钮。

如何在Office Excel 2013/2016/2019中获取工作簿中每个工作表的数据大小

步骤6:让我们看看最后的结果:

如何在Office Excel 2013/2016/2019中获取工作簿中每个工作表的数据大小

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注