如果你想快速得到每个工作表的数据大小在一个Excel工作簿,您可以参考这篇文章。在这里我们将与你分享2方便的方法。
有时,当处理一个Excel工作簿由大量的工作表,你可能想要每个工作表的数据大小。然而,没有一个本地特性的要求。所以,你需要使用一些解决方法,如以下方法1。或者你可以用更聪明的方法2得到所有工作表的数据批量大小。
方法1:获取工作表数据大小手动一个一个地
- 首先,打开特定的Excel工作簿。
- 然后,复制一个Excel工作表的内容。
- 接下来,创建一个新的复制工作表的工作簿并粘贴到表1所示。
- 后,将新工作簿保存到一个Windows文件夹。
- 最后,你可以检查新工作簿的数据大小,等于工作表的数据大小,在Windows资源管理器,如下面屏幕截图所示。
- 现在,您可以使用此方法其他工作表的数据大小。
方法2:批处理得到的数据通过VBA所有工作表的大小
- 首先,根据“打开Excel VBA编辑器如何管理你的Excel VBA代码吗”。
- 然后,将下面的代码放入一个项目或模块。
子GetEachWorksheetSize()暗strTargetSheetName尽可能字符串昏暗strTempWorkbook字符串昏暗objTargetWorksheet工作表暗objWorksheet一样工作表暗objRange范围暗我只要暗nLastEmptyRow整数strTargetSheetName =“表大小”strTempWorkbook = ThisWorkbook。路径和“\ Temp工作簿。与ActiveWorkbook.Worksheets.Add xls”(: = Application.Worksheets (1)) . name = strTargetSheetName .Cells(1,1) = "表" .Cells font (1,1)。大小= 14 .Cells font (1,1)。大胆= True .Cells(1、2) =“大小”.Cells font (1、2)。大小= 14 .Cells font (1、2)。大胆= True结尾设置objTargetWorksheet = Application.Worksheets (strTargetSheetName)为每个objWorksheet Application.ActiveWorkbook。如果objWorksheet工作表。的名字<> strTargetSheetName Then objWorksheet.Copy Application.ActiveWorkbook.SaveAs strTempWorkbook Application.ActiveWorkbook.Close SaveChanges:=False nLastEmptyRow = objTargetWorksheet.Range("A" & objTargetWorksheet.Rows.Count).End(xlUp).Row + 1 With objTargetWorksheet .Cells(nLastEmptyRow, 1) = objWorksheet.Name .Cells(nLastEmptyRow, 2) = FileLen(strTempWorkbook) End With Kill strTempWorkbook End If Next End Sub
- 之后,按“F5”来运行这个宏。
- 最终,宏完成后,返回到工作簿。
- 在刚开始的时候你会看到一个新的工作表,其中包含每个工作表的大小,就像下面的图片。
比较
优势 | 缺点 | |
方法1 | 操作方便 | 太麻烦,如果有太多的工作表在当前工作簿 |
方法2 | 简单和方便不管有多少工作簿中的工作表存在 | 也许上面的VBA代码是新手有点难以理解 |
修复气死人的PST问题
用户可以在MS Excel中遇到各种各样的令人不安的问题,从意外关闭或重新启动到严重xlsx腐败。毫无疑问,最棘手的问题是受损的Excel文件,它不能轻易解决。它要求你应用外部Excel修复工具,像DataNumen Excel修复。
作者简介:
雪莉在DataNumen张是一个数据恢万博ManBetX手机下载复专家,Inc .,这是世界领导人在数据恢复技术,包括腐败的SQL Server和前景修复软件产品。万博体育app官方网下载访问的更多信息www.circareview.com
1004年出现错误消息:不能复制工作表
如果我的excel文件总10工作表,可见表3,任何错误? ?
请帮助改善编码。
工作完全在我unhid所有的选项卡。这里的单位存储大小是什么呢?假设它是位但要确定。谢谢!
它似乎不工作如果有隐藏的标签,确保所有标签是可见的,它应该是好的
是的,绝对不是工作。观察别人的问题。
请纠正!
得到一个错误在这条直线上…。
.Cells (nLastEmptyRow 2) = FileLen (strTempWorkbook)
.Cells (nLastEmptyRow 2) = FileLen (strTempWorkbook)
对我没有功能。错误在上面的代码中。
这对我来说不工作。错误在这里“.Cells (nLastEmptyRow 2) = FileLen (strTempWorkbook)”
到底这个方法所带来的数字2的意思是什么?
我有两个excel文件.xlsx保存数据从一个模板。已经过去2年使用相同的模板。相同数量的工作表(14)。小文件表大小总和为11610591和6681 KB据窗口。大文件表大小总和为11717397和25471 KB据窗口。
这更大的文件大小才开始发生在过去的3天。
非常感谢,没有问题在运行
同样的对我来说。
亲切的问候
它并不在objWorksheet.Copy它停止工作