有时您需要复制符合特定条件的单元格。这里我们将介绍两种复制目标单元格的实用方法。
在一张Excel工作表中,肯定会有很多数据和信息。 但是,那些包含满足特定条件的值的单元格将在不同的范围内分开。 结果,当您需要收集它们时会很困难。
在这个工作表中,你需要复制大于350的单元格。如果你把这些单元格一个一个地排序,然后复制,你肯定会花费很多时间和精力。
因此,现在您可以使用以下两种方法来完成此任务。
方法一:复制过滤结果
如果目标单元格位于某个范围内,您可以使用 Excel 的筛选功能。您可以为该列设置多个筛选条件,然后复制筛选结果。
- 将光标置于目标范围内。
- 然后单击工具栏中的“排序和筛选”按钮。
- 接下来在下拉列表中选择“过滤器”选项。
- 现在单击列标题中的按钮。
- 接下来选择选项“数字过滤器”
- 在子菜单中,选择您需要的选项。 这里我们选择“大于”。
- 在“自定义自动筛选”窗口中,设置您需要的条件。
- 然后单击“确定”按钮。
因此,只有满足条件的单元格才会显示在工作表中。 其他单元格将被隐藏。
当过滤过程结束时,您可以执行复制和粘贴过程。
- 在工作表中选择结果。
- 然后按键盘上的快捷键“Ctrl+C”复制范围。
- 现在单击工作表中的另一个单元格。
- 接下来按快捷键“Ctrl + V”粘贴这些单元格。
- 然后按“Esc”键退出复制模式。
可以看到只有符合条件的单元格才会被粘贴到新的区域中。
但是,如果粘贴到与原始范围共享相同行的范围,则会遇到麻烦。 这里只有两个数字被粘贴到新范围中。
原因其实很简单。 在原始范围内,隐藏不符合条件的单元格。 并且包含这些单元格的整行也被隐藏了。 因此,在新范围内,您只能看到部分结果。 其他值位于隐藏行中。 为了显示结果,您可以清除过滤器功能中的条件。 然后您可以在工作表中看到整个结果。
方法 2:使用 VBA 宏
当目标单元格不在列中时,您无法使用筛选功能。现在,您可以使用 VBA 宏来完成此任务。
- 按键盘上的快捷键“Alt+F11”打开Visual Basic编辑器。
- 然后单击工具栏中的“插入”选项卡。
- 之后,在子菜单中选择“模块”选项。 因此,您已在此项目中插入了一个新模块。
- 在此步骤中,将以下 VBA 代码复制到新模块中。
Sub Copy_Cells()
Dim c As Range, i As Integer, j As Integer
i = 0
For Each c In Range("B2:B13")
If c > 350 Then
Cells(2 + i, 6) = Cells(c.Row, c.Column - 1)
Cells(2 + i, 7) = c
End If
i = i + 1
Next c
For j = 13 To 2 Step -1
If Cells(j, 6) = "" Then
Range("F" & j, "G" & j).Delete Shift:=xlUp
End If
Next j
End Sub
在这个宏中,我们将找到符合条件的单元格。 接下来,这些值将被复制到一个新范围。 当复制和粘贴过程结束时,此宏将删除新范围内的空白单元格。 在您的实际工作表中,您需要根据您的实际需要更改代码中的条件和范围。
- 这里点击工具栏中的“Run Sub”按钮或按下键盘上的“Enter”按钮来运行宏。
接下来回到工作表,你会看到结果已经在工作表中了。
您还可以使用 VBA 宏来查找不在列中的单元格。 因此,当您需要复制多个范围内的单元格时,您可以修改宏并使用它。
两种方法的比较
在此表中,我们将向您展示这两种方法的优缺点。
|
对比 |
复制过滤结果 |
使用 VBA 宏 |
|
优势 |
如果您不熟悉 Excel VBA,可以使用此方法。 | 您还可以使用此方法复制不同范围内的单元格。 |
|
缺点 |
当单元格在工作表的不同区域中是分开的时,您不能用这种方法过滤数据。 | 使用 VBA 宏有时会在工作表中产生错误。 |
因此,下次当您需要根据某些条件复制单元格时,您可以选择最合适的方法。
Excel 安全性令人担忧
Excel 的安全性对您至关重要,您应该格外重视。许多用户由于各种原因丢失了 Excel 中的数据和信息。如果您无法保证文件的安全,必将遭受巨大损失。Excel 文件损坏的后果可能是灾难性的。每当您在 Excel 中遇到错误时,您可以…… 修复 Excel xls 数据损坏 通过有用的第三方工具。 有了这个工具,您将永远不会丢失您的数据和信息。
作者简介:
Anna Ma 是一位数据恢复专家 DataNumen, Inc.,它是数据恢复技术领域的世界领先者,包括 修复 Word 文档损坏 和 outlook 修复软件产品。 欲了解更多信息,请访问 datanumen.com








