如何在Excel中选择每隔一行
很多时候,我需要在 Excel 中选择每隔一行,以便突出显示或删除它们。
当我从数据库或网络下载数据时,通常会出现这种情况,并且它会在我需要删除的每个有用行之后添加一个额外的行。
另一种有用的情况是当您想要选择每隔一行,然后将它们复制并粘贴到工作表中的其他位置时。
虽然 Excel 中没有内置功能允许您选择每隔一行,但在本教程中,我将向您展示一些解决方法来执行此操作。
让我们开始使用这些方法。
笔记:在许多情况下,人们想要在 Excel 中选择每隔一行的原因是为了突出显示它们。 如果您处于相同的情况,您应该知道您不需要选择该行来突出显示它。 您可以使用条件格式或 Excel 表格中的内置格式选项来自动突出显示 Excel 中的每隔一行。 你可以阅读我的详细教程 本主题涵盖了完成此任务所需执行的确切步骤。
推荐:在Excel中按颜色过滤
手动选择每隔一行
如果您的数据集较小,那么在 Excel 中选择每隔一行的最快方法是手动执行。
为此,您需要同时使用键盘和鼠标/触控板。
下面,我有一个数据集,我想在其中选择每隔一行(即备用行)。
![如何在Excel中选择每隔一行](https://cdn.infoxiao.com//wp-content/uploads/2024/02/在-Excel-中选.png)
以下是执行此操作的步骤:
- 按住键盘上的 Control 键
- 单击要选择的行的行标题(在本示例中,该行为行号 3,即数据集中的第二条记录)
![手动选择第一行](https://cdn.infoxiao.com//wp-content/uploads/2024/02/1707116902_373_在-Excel-中选.png)
- 继续按住 Control 键,然后单击要选择的所有行的行标题
- 选择完成后,保留控制键
![所有备用行均已手动选择](https://cdn.infoxiao.com//wp-content/uploads/2024/02/1707116902_516_在-Excel-中选.png)
此方法仅适用于数据集较小的情况,并且手动选择每隔一行不会太耗时。
就我个人而言,当我的数据集最多 10 到 12 行时,我更喜欢这种方法。 对于比这更长的时间,您可以使用本文中介绍的其他方法。
Also read: Keyboard & Mouse Tricks that will Reinvent the Way You Excel
使用辅助列和过滤器方法
在 Excel 中选择每隔一行的一个简单解决方法是添加一个辅助列,然后使用此辅助列来筛选数据,以便仅那些我们需要选择的行可见。
让我通过一个例子向您展示它是如何工作的。
下面我有一个数据集,我想在其中选择每隔一行。
![数据集选择每隔一行](https://cdn.infoxiao.com//wp-content/uploads/2024/02/在-Excel-中选.png)
以下是使用辅助列和过滤器功能执行此操作的步骤:
- 在单元格 G1 中输入文本“助手”。 这将成为我们的帮助列,文本“Helper”将成为该列的标题。
![在数据集右侧添加了一个辅助列](https://cdn.infoxiao.com//wp-content/uploads/2024/02/1707116902_452_在-Excel-中选.png)
- 在单元格 G2 中,输入以下公式
=ISODD(ROW())
为该列中的所有单元格复制此公式。
![帮助列中的 ISODD 公式](https://cdn.infoxiao.com//wp-content/uploads/2024/02/1707116903_981_在-Excel-中选.png)
此公式使用 ISODD 函数和 ROW 函数,如果行号为奇数,则给出 TRUE;如果行号为偶数,则给出 FALSE。
- 选择数据集中的任意单元格,然后单击“数据”选项卡。
![单击功能区中的数据选项卡](https://cdn.infoxiao.com//wp-content/uploads/2024/02/1707116903_758_在-Excel-中选.png)
- 单击排序和过滤组中的过滤器图标。 这会将过滤器图标添加到数据集中的所有标题。 您还可以使用键盘快捷键 CONTROL + SHIFT + L 将筛选器应用到标题行。
![单击功能区中的过滤器图标](https://cdn.infoxiao.com//wp-content/uploads/2024/02/1707116885_349_在-Excel-中按.png)
- 单击辅助行列标题中的过滤器图标。
![单击辅助列标题中的过滤器图标](https://cdn.infoxiao.com//wp-content/uploads/2024/02/1707116903_422_在-Excel-中选.png)
- 取消选中 FALSE 选项并单击“确定”。 这将过滤您的数据集,您将仅看到辅助列值为 TRUE 的那些行(每个备用行都是这种情况)
![取消选中 false 选项并单击“确定”](https://cdn.infoxiao.com//wp-content/uploads/2024/02/1707116904_277_在-Excel-中选.png)
- 选择过滤后可见的数据集。
![仅可见可以选择的替代行](https://cdn.infoxiao.com//wp-content/uploads/2024/02/1707116904_540_在-Excel-中选.png)
当您在过滤数据集后选择单元格时,它只会选择可见的单元格。
因此,您对此数据集执行的任何操作都不会影响不可见的单元格。
例如,如果您突出显示所有这些可见单元格,然后删除过滤器,则只有备用行会突出显示。
使用 VBA 在 Excel 中选择每隔一行
虽然上述两种方法效果很好,但有点耗时。
如果您经常需要选择每隔一行,那么您绝对应该考虑尝试 VBA 方法。
下面是 VBA 代码,它将选择您选择的数据集中的每一行。
'Code developed by Sumit Bansal from
Sub SelectEveryOtherRow()
Dim MyRange As Range
Dim RowSelect As Range
Dim i As Integer
Set MyRange = Selection
Set RowSelect = MyRange.Rows(3)
For i = 3 To MyRange.Rows.Count Step 2
Set RowSelect = Union(RowSelect, MyRange.Rows(i))
Next i
Application.Goto RowSelect
End Sub
上面的 VBA 代码从数据集中的第三行开始。 然后,它使用一个简单的 For Next 循环来遍历所有行,并从第三行开始仅选择每隔一行。
以下是在 Excel 中使用此 VBA 代码的步骤:
- 打开要在其中使用此 VBA 代码的 Excel 工作簿。
- 选择数据集 您想要选择每个备用行的位置
- 单击“开发人员”选项卡,然后单击“Visual Basic”图标。 这将打开 VB 编辑器,我们将在其中复制并粘贴上述代码。
![单击功能区中的 Visual Basic 图标](https://cdn.infoxiao.com//wp-content/uploads/2024/02/1707116905_494_在-Excel-中选.png)
您还可以使用键盘快捷键 ALT + F11 打开 VB 编辑器。
- 单击菜单中的插入选项。
![单击菜单中的插入选项](https://cdn.infoxiao.com//wp-content/uploads/2024/02/1707116905_732_在-Excel-中选.png)
- 在出现的选项中,单击“模块”选项。 这将在工作簿中插入一个新模块并打开“模块代码”窗口。
![单击模块选项](https://cdn.infoxiao.com//wp-content/uploads/2024/02/1707116905_846_在-Excel-中选.png)
- 将上述 VBA 代码复制并粘贴到模块代码窗口中。
![将 VBA 代码复制并粘贴到模块代码窗口中](https://cdn.infoxiao.com//wp-content/uploads/2024/02/1707116905_332_在-Excel-中选.png)
- 单击工具栏中的“运行子例程”图标或按 F5 键来运行宏。 运行宏之前,请确保光标位于代码内。 (注意:仅当您已在步骤 2 中选择数据时,此代码才有效)
![单击工具栏中的运行宏图标](https://cdn.infoxiao.com//wp-content/uploads/2024/02/1707116906_710_在-Excel-中选.png)
- 关闭或隐藏 VB 编辑器
一旦运行上面的代码,您就会注意到从第 3 行开始的所有其他行都已在我们的数据集中被选中。
![已使用 VBA 选择每隔一行](https://cdn.infoxiao.com//wp-content/uploads/2024/02/1707116906_409_在-Excel-中选.png)
如果您想选择从第 2 行开始的每隔一行,您可以修改代码,如下所示:
'Code developed by Sumit Bansal from
Sub SelectEveryOtherRow()
Dim MyRange As Range
Dim RowSelect As Range
Dim i As Integer
Set MyRange = Selection
Set RowSelect = MyRange.Rows(2)
For i = 2 To MyRange.Rows.Count Step 2
Set RowSelect = Union(RowSelect, MyRange.Rows(i))
Next i
Application.Goto RowSelect
End Sub
使用此宏代码时需要注意的一些事项:
- 当您将此 VBA 代码添加到工作簿时,您需要将工作簿保存为启用宏的文件(扩展名为 .XLSM)
- 此代码仅在添加它的工作簿中有效。 如果您想在所有 Excel 工作簿上使用此代码,您应该将其保存在您的个人宏工作簿中
- 将此代码添加到要使用的工作簿或个人宏工作簿中后,您还可以添加一个图标,只需从快速访问工具栏单击即可运行该代码。
用于在 Excel 中选择每隔一行的加载项
如果您经常需要选择每隔一行,您还可以考虑购买第三方 Excel 加载项,这可以使您的过程变得非常轻松。
您可以考虑获取的此类插件之一是 剂量Excel,它允许您指定间隔和可以选择的行数。
例如,您可以指定需要每隔一行选择一行(或每两行之后选择一行)。
在本文中,我向您展示了三种不同的方法,可用于在 Excel 中选择每隔一行。 虽然 Excel 中没有内置功能,但可以使用使用辅助列的筛选方法或 VBA 方法来完成。
如果您的数据集较小,最好手动选择每个备用行。