[英]Moving entire row based on a cell value
我对 VBA 相当陌生,而且我已经看过了,似乎无法在任何地方找到我需要的答案(如果我一直在寻找的话)。
这是一个简单的问题,但我想找出实现它的最佳方法。
我有大约 26,000 行的大量数据。 我知道需要查找数据并根据结果移动行的代码,但我想知道的是遍历列中的每个单元格以找到正确条件并移动行的最佳(最实用)方法.
它是一个简单的 For each cell loop 还是一个新人(比如我自己)可能还不知道的有点不同的东西? 如果有人能告诉我一个好的方法或给我指明正确的方向,那就太好了:)。
先感谢您。
如前所述,使用自动过滤器可能是在大型数据表中获得结果的最佳方式。
刚接触 VBA 可能很难理解从哪里开始,所以这里有一个简单的例子。
运行代码,输入要过滤的内容,结果将在 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.