如何在 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 中的单元格值将整行移动到另一张工作表,以突出显示特定数据集。
广告