如何在Excel中选择每隔一行

如何在Excel中选择每隔一行

很多时候,我需要在 Excel 中选择每隔一行,以便突出显示或删除它们。

当我从数据库或网络下载数据时,通常会出现这种情况,并且它会在我需要删除的每个有用行之后添加一个额外的行。

另一种有用的情况是当您想要选择每隔一行,然后将它们复制并粘贴到工作表中的其他位置时。

虽然 Excel 中没有内置功能允许您选择每隔一行,但在本教程中,我将向您展示一些解决方法来执行此操作。

让我们开始使用这些方法。

笔记:在许多情况下,人们想要在 Excel 中选择每隔一行的原因是为了突出显示它们。 如果您处于相同的情况,您应该知道您不需要选择该行来突出显示它。 您可以使用条件格式或 Excel 表格中的内置格式选项来自动突出显示 Excel 中的每隔一行。 你可以阅读我的详细教程 本主题涵盖了完成此任务所需执行的确切步骤。

推荐:在Excel中按颜色过滤

手动选择每隔一行

如果您的数据集较小,那么在 Excel 中选择每隔一行的最快方法是手动执行。

为此,您需要同时使用键盘和鼠标/触控板。

下面,我有一个数据集,我想在其中选择每隔一行(即备用行)。

如何在Excel中选择每隔一行

以下是执行此操作的步骤:

  1. 按住键盘上的 Control 键
  2. 单击要选择的行的行标题(在本示例中,该行为行号 3,即数据集中的第二条记录)
手动选择第一行
  1. 继续按住 Control 键,然后单击要选择的所有行的行标题
  2. 选择完成后,保留控制键
所有备用行均已手动选择

此方法仅适用于数据集较小的情况,并且手动选择每隔一行不会太耗时。

就我个人而言,当我的数据集最多 10 到 12 行时,我更喜欢这种方法。 对于比这更长的时间,您可以使用本文中介绍的其他方法。

Also read: Keyboard & Mouse Tricks that will Reinvent the Way You Excel

使用辅助列和过滤器方法

在 Excel 中选择每隔一行的一个简单解决方法是添加一个辅助列,然后使用此辅助列来筛选数据,以便仅那些我们需要选择的行可见。

让我通过一个例子向您展示它是如何工作的。

下面我有一个数据集,我想在其中选择每隔一行。

数据集选择每隔一行

以下是使用辅助列和过滤器功能执行此操作的步骤:

  1. 在单元格 G1 中输入文本“助手”。 这将成为我们的帮助列,文本“Helper”将成为该列的标题。
在数据集右侧添加了一个辅助列
  1. 在单元格 G2 中,输入以下公式
=ISODD(ROW())

为该列中的所有单元格复制此公式。

帮助列中的 ISODD 公式

此公式使用 ISODD 函数和 ROW 函数,如果行号为奇数,则给出 TRUE;如果行号为偶数,则给出 FALSE。

  1. 选择数据集中的任意单元格,然后单击“数据”选项卡。
单击功能区中的数据选项卡
  1. 单击排序和过滤组中的过滤器图标。 这会将过滤器图标添加到数据集中的所有标题。 您还可以使用键盘快捷键 CONTROL + SHIFT + L 将筛选器应用到标题行。
单击功能区中的过滤器图标
  1. 单击辅助行列标题中的过滤器图标。
单击辅助列标题中的过滤器图标
  1. 取消选中 FALSE 选项并单击“确定”。 这将过滤您的数据集,您将仅看到辅助列值为 TRUE 的那些行(每个备用行都是这种情况)
取消选中 false 选项并单击“确定”
  1. 选择过滤后可见的数据集。
仅可见可以选择的替代行

当您在过滤数据集后选择单元格时,它只会选择可见的单元格。

因此,您对此数据集执行的任何操作都不会影响不可见的单元格。

例如,如果您突出显示所有这些可见单元格,然后删除过滤器,则只有备用行会突出显示。

使用 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 代码的步骤:

  1. 打开要在其中使用此 VBA 代码的 Excel 工作簿。
  2. 选择数据集 您想要选择每个备用行的位置
  3. 单击“开发人员”选项卡,然后单击“Visual Basic”图标。 这将打开 VB 编辑器,我们将在其中复制并粘贴上述代码。
单击功能区中的 Visual Basic 图标

您还可以使用键盘快捷键 ALT + F11 打开 VB 编辑器。

  1. 单击菜单中的插入选项。
单击菜单中的插入选项
  1. 在出现的选项中,单击“模块”选项。 这将在工作簿中插入一个新模块并打开“模块代码”窗口。
单击模块选项
  1. 将上述 VBA 代码复制并粘贴到模块代码窗口中。
将 VBA 代码复制并粘贴到模块代码窗口中
  1. 单击工具栏中的“运行子例程”图标或按 F5 键来运行宏。 运行宏之前,请确保光标位于代码内。 (注意:仅当您已在步骤 2 中选择数据时,此代码才有效)
单击工具栏中的运行宏图标
  1. 关闭或隐藏 VB 编辑器

一旦运行上面的代码,您就会注意到从第 3 行开始的所有其他行都已在我们的数据集中被选中。

已使用 VBA 选择每隔一行

如果您想选择从第 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 方法来完成。

如果您的数据集较小,最好手动选择每个备用行。

推荐:如何使用CMD清除Windows 11或10中的缓存


发表评论