2012-10-04 67 views
0

我在列A中有一些值,它們包含負值和正值,以及我在其中寫入下面的值以在相鄰列中過濾和複製相同的值。在篩選器之後複製並粘貼單元格

但我需要的是過濾後,如果a3,a7,a8具有負值,他們應該複製到相鄰的單元格是b3,b7,b8.Am無法得到它。

請幫助........

Sub AutoFilter_in_Excel() 
Range("A1").AutoFilter Field:=1, Criteria1:="<0", Operator:=xlAnd 
Worksheets("sheet1").Range("A2:A7").Copy _ 
Destination:=Worksheets("sheet1").Range("c2") 
Range("A1").AutoFilter Field:=1, Criteria1:=">0", Operator:=xlAnd 
Worksheets("sheet1").Range("A2:A7").Copy _ 
Destination:=Worksheets("sheet1").Range("b2") 
End Sub 
+0

這可以很容易地用公式和IF來完成,爲什麼強制它進入VBA? – Jesse

回答

0

這將做到這一點。您擁有的問題是無法複製跨多個區域的範圍。

Sub AutoFilter_in_Excel() 
Dim rg As Range 

With Range("A1").CurrentRegion 
    .AutoFilter Field:=1, Criteria1:="<0" 

    For Each rg In .Resize(.Rows.Count - 1).Offset(1).SpecialCells(xlCellTypeVisible).Areas 

     rg.Copy rg.Offset(, 1) 

    Next rg 

End With 

End Sub 
相關問題