簡體   English   中英

根據單元格值移動整行

[英]Moving entire row based on a cell value

我對 VBA 相當陌生,而且我已經看過了,似乎無法在任何地方找到我需要的答案(如果我一直在尋找的話)。

這是一個簡單的問題,但我想找出實現它的最佳方法。

我有大約 26,000 行的大量數據。 我知道需要查找數據並根據結果移動行的代碼,但我想知道的是遍歷列中的每個單元格以找到正確條件並移動行的最佳(最實用)方法.

它是一個簡單的 For each cell loop 還是一個新人(比如我自己)可能還不知道的有點不同的東西? 如果有人能告訴我一個好的方法或給我指明正確的方向,那就太好了:)。

先感謝您。

如前所述,使用自動過濾器可能是在大型數據表中獲得結果的最佳方式。

剛接觸 VBA 可能很難理解從哪里開始,所以這里有一個簡單的例子。

在此示例代碼中,我只是使用 A 列到 O 列並根據條件過濾 A 列。

在此處輸入圖片說明

運行代碼,輸入要過濾的內容,結果將在 Sheet2 中結束。

Sub FilterExample()
    Dim Sh As Worksheet, ws As Worksheet
    Dim LstRw As Long, rng As Range, s As String

    Set Sh = Sheets("Sheet1")
    Set ws = Sheets("Sheet2")

    s = InputBox("What to find?")
    ws.Range("A2:O" & ws.Cells(ws.Rows.Count, "O").End(xlUp).Row).ClearContents
    With Sh
        LstRw = .Cells(.Rows.Count, "A").End(xlUp).Row

        .Range("A1").AutoFilter Field:=1, Criteria1:=s
        Set rng = .Range("A2:O" & LstRw)
        rng.Copy ws.Cells(ws.Rows.Count, "A").End(xlUp).Offset(1)
        .AutoFilterMode = False
    End With
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM