0

列Aにいくつかの値があり、それらには負の値と正の値が含まれています。また、隣接する列で同じ値をフィルター処理してコピーするために、以下の値を記述しました。

しかし、必要なのは、フィルタリング後、a3、a7、a8が負の値を持っている場合、それらはb3、b7、b8である隣接セルにコピーする必要があります。それを取得できません。

助けてください........

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 
4

1 に答える 1

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
于 2012-10-04T18:53:43.843 に答える