2013-04-25 77 views
0

只需使用VBA for Excel即可。四處尋找類似的問題,找不到像這樣的東西。Excel 2010 VBA:複製行,根據特定列上的值動態選擇它們

很簡單的問題。我有一些數據,並希望將一部分行復制到工作表中的另一個位置。我不認爲這會讓我張貼圖片呢,讓我們說,它看起來像這樣:

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」,但我無法使其工作。

非常感謝!

+0

你通常不會找到你正在尋找什麼:)看看:http://stackoverflow.com/q/12177125/212869 – NickSlash 2013-04-25 17:19:19

+0

謝謝@NickSlash我想你是對的。我會仔細研究一下,看看我是否可以將它應用於我的設置! – LeeLK 2013-04-25 17:25:40

+0

發佈您嘗試過的代碼?這將有助於其他人,以便他們可以修改它以更好地滿足您的特定要求。 – 2013-04-25 17:30:08

回答

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 

調整適合的目標範圍。

+0

謝謝@ sous2817。這絕對是讓我走上正軌。我不想花時間做精調(起始範圍實際上是A18:Q18,低於其他一些東西,所以你不能計算所有的行並將其用作範圍) ,所以我會搞砸它,並學習這種方式:)。 再次感謝! – LeeLK 2013-04-25 17:46:35

+0

取決於您的工作表結構,有很多方法可以找到並定義預期的範圍。我只是給你一種方式。嘗試使用像VBA Excel查找最後一行的東西搜索大約642,000種方法(授予,有些將比其他更有幫助)。 – sous2817 2013-04-25 17:59:59

+0

的確如此。許多方法來做到這一點,其中大部分我還不明白!我會繼續尋找。 – LeeLK 2013-04-25 18:11:38

相關問題