删除每X行(Microsoft Excel)
从外部源导入数据时,可能会遇到需要从工作表中删除无关数据的问题。例如,您可能需要从数据中删除每第二行或每第五行删除一次。
手工执行此操作可能很乏味并且容易出错。幸运的是,您可以创建一个宏来帮助消除乏味和错误。
下面的宏DeleteRows将删除工作表中的每X行。您所要做的就是选择要应用到的行。
如所写,该宏将每隔第二行删除一次。因此,如果要删除从第10行开始的第一,第三,第五和第七行,则可以选择第10到16行,然后运行此宏。结果是删除了行10(第一行),12(第三行),14(第五行)和16(第七行)。
Sub DeleteRows() Dim iStart As Integer Dim iEnd As Integer Dim iCount As Integer Dim iStep As Integer Dim J As Integer iStep = 2 'Delete every 2nd row Application.ScreenUpdating = False iStart = 1 iCount = Selection.Rows.Count 'Find ending row to start deleting For J = iStart To iCount Step iStep iEnd = J Next Do While iEnd >= iStart Selection.Rows(iEnd).Delete iEnd = iEnd — iStep Loop Application.ScreenUpdating = True End Sub
如果要删除其他几行,只需更改iStep变量的设置即可。例如,如果要删除每第五行,请将iStep从2更改为5。(只需在iStep = 2声明中进行单个更改。)
注意:
如果您想知道如何使用此页面(或_ExcelTips_网站上的任何其他页面)中描述的宏,我准备了一个特殊页面,其中包含有用的信息。
_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。
本技巧(2292)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本: