为什么我的Excel文档中有960,000空行?


13

我在Windows 7机器上有一个Excel文档Office 2007(如果这很重要,我不确定,只是把它扔在那里)。它是所有员工电话号码的列表。如果需要生成新页面,可以单击第2页,表格将再次自动生成。

问题是,有人将其弄乱了,因为它位于网络驱动器上,现在显示出我有超过960,000行数据,而实际上却没有!我进行了CTRL + END,以查看最后一个单元格中是否有任何数据,因此我将其清除,删除了该行和列,但仍未解决。删除后似乎几乎可以复制自己。

如何解决此问题,而不是重新创建整个文档?


1
您是否尝试还原备份?另外,您将必须提供有关宏或VBA为生成新表所做的工作的更多信息。您可以发布该信息吗?
CharlieRB 2012年

@CharlieRB当我更多地查看文档时,我意识到它并没有生成新表。这不是我最初创建的,只是一个看起来像桌子的边框设置。我尝试还原备份,但是显然问题出在最后一次良好备份之前。如果我尝试删除最后一行,则为1,048,576 ...,当我尝试删除该行时,代替该行的是有边框的单元格,如文档开头。
C-dizzle 2012年

@CharlieRB我最后回过头来重新创建了文档,但是它仍然让我想知道是什么继续用我没有放在其中的边框替换空单元格。
C-dizzle 2012年

如果它是一个共享文件,则可能有人认为格式化单元格的方法是一次完成整列,而不是仅仅需要做的事情。还是如果您现在是唯一访问该文件的人,该完成了吗?
datatoo 2012年

Answers:


14

Microsoft有一个非常出色的支持文档,名为“ 如何重置Excel中的最后一个单元格”

从该文档中:

导致最后一个单元格设置在当前使用的工作表范围之外的最常见原因是过多的格式化。当您格式化整个行和列时,某些类型的格式化可能导致最后一个单元格被设置为远低于使用中的实际范围的右侧。

根据您问题下方的评论,当然似乎适用于所有行的边框格式都是元凶。

我使用了上面链接中提供的外接程序中的代码,将文件大小从数MB减小到了几百k。


我正在使用excel2010,它不起作用,只是给出错误“ excel无法用可用资源完成此任务。选择较少的数据或关闭其他应用程序”
adolf Garlic 2016年

上面的链接已死。@adolfgarlic尝试使用VBA解决方案
phuclv

@adolfgarlic它在32位版本的Excel上不起作用,但是在没有实施相同内存限制的64位版本上起作用。las,将我的版本从32位更改为64位后,此解决方案可以运行-但不能解决问题。
t0mgs

@phuclv实际上还活着。
t0mgs

0

还要检查是否有任何带有注释的单元格,其注释框已被拖离该单元格很远。您可以在带有注释的电子表格的第二行中具有一个单元格,该单元格的注释框位于7000行附近,这将迫使excel将7000行视为电子表格的最后一行。


0

就像上面的评论者一样,我的Excel文档中也有超过一百万的额外行,这是同样的问题,这是因为评论最终离单元格太远了。该页面包含一个简单的VBA代码,您可以使用它清理文档,然后可以删除它并保存文档而无需使用该代码,此问题将得到解决。https://www.extendoffice.com/documents/excel/2252-excel-reset-comment-positions.html

按住ALT + F11键以打开“ Microsoft Visual Basic应用程序”窗口。

单击插入>模块,然后将以下代码粘贴到模块窗口中。

VBA代码:重置活动工作表中的所有评论位置

1 Sub ResetComments()
2 'Update 20141110
3 Dim pComment As Comment
4 For Each pComment In Application.ActiveSheet.Comments
5   pComment.Shape.Top = pComment.Parent.Top + 5
6   pComment.Shape.Left = pComment.Parent.Offset(0, 1).Left + 5
7 Next
8 End Sub

然后按F5键运行此代码,并且活动工作表中的所有注释位置都已立即重置。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.