Excel 2010 VBA:复制行,根据某列上的值动态选择行

时间:2013-04-25 17:12:48

标签: excel vba

刚刚用VBA for Excel弄湿了我的脚。环顾四周寻找类似的问题,找不到与此完全相同的东西。

非常简单的问题。我有一些数据,并希望将行的一部分复制到工作表中的另一个位置。我不认为它会让我发布图像,所以让我们说它看起来像这样:

 Column A     Column B     Column C
 product1        1          #VALUE!
 product2        4            100
 product3        22            25
 product4        0             3

我要复制的行是C列为5+的行。所以,在这种情况下,第3行和第4行。总行数应始终相同,如果有帮助的话。

我可以在VBA中进行复制和粘贴,只是想知道选择这些行的最佳方法是什么。我尝试了一个Do循环,其中x是列号,检查它是“> 4”,但我无法让它工作。

非常感谢!

1 个答案:

答案 0 :(得分:0)

有很多方法可以解决这个问题。这是一个:

Sub Macro1()

Dim LR As Long

LR = ActiveSheet.UsedRange.Rows.Count
    Range("A1:C1").Range("$A$1:$C$" & LR).AutoFilter Field:=3, Criteria1:=">4", _
        Operator:=xlAnd
    Range("A1:C" & LR).SpecialCells(xlCellTypeVisible).Copy Destination:=Range("L1")
    Range("A1:C1").Range("$A$1:$C$" & LR).AutoFilter
End Sub

调整目的地范围以适应。