黛安(Diane)谈到了她将文件导入Excel时遇到的问题。由非Excel程序创建的文件包含50,000条记录,但是只有前87条记录包含任何数据。导入文件后,按Ctrl + End会移动到单元格J50000而不是单元格J87。 Diane想知道如何使Excel跳到真实数据的末尾-J87。

要做的第一件事就是简单地保存工作簿,退出Excel,然后重新打开工作簿。这样做可以“重置”工作簿中的数据结束指针,您应该可以。

如果那不能解决问题,则很可能是您导入到Excel中的数据包含非打印字符,例如空格。如果将它们加载到单元格中,即使您没有,Excel也会将它们视为数据。要通过删除数据来修复工作簿,请选择第88行(数据之后的第一行),然后在按下向下箭头的同时按住Shift和Ctrl键。从88到工作表中的最后一行的所有行均应选中。按Delete键,保存工作簿,然后重新打开它。 Ctrl + End应该可以正常工作。

如果您有很多文件需要“清理”,或者需要定期执行,则需要一个宏来帮助您。

请考虑以下宏:

Sub ClearEmpties()

Dim c As Range     Dim J As Long

J = 0     Selection.SpecialCells(xlCellTypeConstants, 23).Select     For Each c In Selection.Cells         J = J + 1         StatusBar = J & " of " & Selection.Cells.Count         c.Value = Trim(c.Value)

If Len(c.Value) = 0 Then             c.ClearFormats         End If     Next     StatusBar = ""

End Sub

此宏选择工作表中所有包含常量的单元格(换句话说,它们不包含公式)。然后,它逐步遍历每个这些单元格,并使用“修剪”功能从内容中删除任何前导或尾随空格。如果该单元格为空,则从该单元格清除所有格式。

宏完成后,您可以保存并关闭工作簿,然后重新打开它,并且应该能够使用Ctrl + End转到数据的实际结尾。如果这仍然不起作用,则意味着导入到工作簿中的单元格中还有其他一些不可见的非打印字符。例如,单元格中可能有一些奇怪的控制字符。在这种情况下,您需要与创建导入文件的任何人交谈。此时,最好的解决方案是使人修改程序,使其不包括Excel误认为有效单元格内容的“垃圾箱”。

注意:

如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(3297)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007和更高版本)找到本技巧的版本: