如何在 Excel 中根据单元格值将整行移动到另一张工作表?


如果您经常处理大型数据集或需要有效地组织数据,本教程将向您展示如何根据特定条件自动传输行。Excel 是组织和分析数据的有效工具,通过利用其功能,我们可以自动化耗时的过程,从而节省精力和时间。例如,通常需要根据单元格值将整行移动到另一张工作表,同时进行数据筛选和分类。

根据单元格值将整行移动到另一张工作表

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

步骤 1

考虑一个 Excel 工作表,其中工作表中的数据类似于下图。

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

右键单击 > 查看代码。

步骤 2

然后单击“插入”,选择“模块”,然后将下面的代码复制到文本框中。

插入 > 模块 > 复制。

代码

Sub Cheezy()
   Dim xRg As Range
   Dim xCell As Range
   Dim I As Long
   Dim J As Long
   Dim K As Long
   I = Worksheets("Sheet1").UsedRange.Rows.Count
   J = Worksheets("Sheet2").UsedRange.Rows.Count
   If J = 1 Then
      If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
   End If
   Set xRg = Worksheets("Sheet1").Range("C:C" & I)
   On Error Resume Next
   Application.ScreenUpdating = False
   For K = 1 To xRg.Count
      If CStr(xRg(K).Value) = "Done" Then
         xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
         xRg(K).EntireRow.Delete
         If CStr(xRg(K).Value) = "Done" Then
             K = K - 1
         End If
         J = J + 1
      End If
   Next
   Application.ScreenUpdating = True
End Sub

在代码中,Sheet1 是包含要移动行的工作表。Sheet2 是您将找到该行的目标工作表。“C:C”是包含特定值的列,“Done”是您将根据其移动行的特定值。请根据您的需要更改它们。

步骤 3

然后单击 F5 完成任务。

这就是如何在 Excel 中根据单元格值将整行移动到另一张工作表的方法。

注意

如果您想复制基于单元格值的数据,请使用以下代码。

代码

Sub MoveRowBasedOnCellValue()
   Dim xRg As Range
   Dim xCell As Range
   Dim I As Long
   Dim J As Long
   Dim K As Long
   I = Worksheets("Sheet1").UsedRange.Rows.Count
   J = Worksheets("Sheet2").UsedRange.Rows.Count
   If J = 1 Then
   If Application.WorksheetFunction.CountA(Worksheets("Sheet2").UsedRange) = 0 Then J = 0
   End If
   Set xRg = Worksheets("Sheet1").Range("C1:C" & I)
   On Error Resume Next
   Application.ScreenUpdating = False
   For K = 1 To xRg.Count
      If CStr(xRg(K).Value) = "Done" Then
         xRg(K).EntireRow.Copy Destination:=Worksheets("Sheet2").Range("A" & J + 1)
         J = J + 1
      End If
   Next
   Application.ScreenUpdating = True
End Sub

结论

在本教程中,我们使用了一个简单的示例来演示如何根据 Excel 中的单元格值将整行移动到另一张工作表,以突出显示特定数据集。

更新于:2023年8月24日

3K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告