如何在 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+ 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.