如何在 Excel 中根据单元格值将整行移至活动工作表底部?

ms excelmicrosoft technologiesadvanced excel function更新于 2025/1/24 13:00:17

本教程将向您展示如何使用一种简单而强大的技术,根据预定条件重新排列 Excel 电子表格中的行。在很多情况下,Excel 数据都需要排序或重新排列。例如,为了确定特定行的优先级或将其与其他数据区分开来,您可能希望将它们放置在工作表底部。本教程的主要目标是通过根据单元格值选择要重新定位的行来实现此目的。

我们假设您在学习本课程之前对 Excel 及其功能有基本的了解。通过学习本课程,您将能够有效地在 Excel 中组织数据,因为您将准确地学习如何根据单元格值将整行移至底部。那么,让我们开始吧!

根据单元格值将整行移动到活动工作表的底部

在这里,我们将首先创建一个 VBA 模块,然后运行它来完成任务。让我们通过一个简单的过程来了解如何在 Excel 中根据单元格值将整行移动到活动工作表的底部。

步骤 1

假设有一个 Excel 工作表,其中的数据与下图类似。

首先,右键单击工作表名称,然后选择"查看代码"以打开 VBA 应用程序。

右键单击 >查看代码。

步骤 2

然后点击"插入",选择"模块",然后将以下代码复制到文本框中。

插入 > 模块 > 复制。

代码

Sub MoveToEnd()
   Dim xRg As Range
   Dim xTxt As String
   Dim xCell As Range
   Dim xEndRow As Long
   Dim I As Long
   On Error Resume Next
   If ActiveWindow.RangeSelection.Count > 1 Then
      xTxt = ActiveWindow.RangeSelection.AddressLocal
   Else
      xTxt = ActiveSheet.UsedRange.AddressLocal
   End If
lOne:
   Set xRg = Application.InputBox("Select range:", "Move Based Value", xTxt, , , , , 8)
   If xRg Is Nothing Then Exit Sub
   If xRg.Columns.Count > 1 Or xRg.Areas.Count > 1 Then
      MsgBox " Multiple ranges or columns have been selected ", vbInformation, "Move Based Value"
      GoTo lOne
   End If
   xEndRow = xRg.Rows.Count + xRg.Row
   Application.ScreenUpdating = False
   For I = xRg.Rows.Count To 1 Step -1
      If xRg.Cells(I) = "Yes" Then
         xRg.Cells(I).EntireRow.Cut
         Rows(xEndRow).Insert Shift:=xlDown
      End If
   Next
   Application.ScreenUpdating = True
End Sub

在 VBA 代码中,"Done"是您将基于其移动整行的单元格值。您可以根据需要更改它。

步骤 3

然后点击 F5 运行模块。然后选择单元格区域并点击"确定"完成任务。

以上演示了如何在 Excel 中根据单元格值将整行移动到活动工作表的底部。

总结

在本教程中,我们通过一个简单的示例演示了如何在 Excel 中根据单元格值将整行移动到活动工作表的底部,以突出显示特定的一组数据。


相关文章


有用资源