VBA查找排序和过去值

时间:2017-02-10 21:42:09

标签: excel vba excel-vba

我的数据位于A列和B列(约1000行)。 B列中的每一行都有一个数字:1或2或3或4.(更新后可能不再是所有4个数字都在列表中,但只允许说数字2和4)

在行2中,值为E2 = 1,F2 = 2,G2 = 3且H2 = 4 它们总是一样的。

现在我想用VBA粘贴B列中的值,偏移量(-1,0)下的值等于B列中的数字(红色数字)

Imageresult

1 个答案:

答案 0 :(得分:2)

在A2和B2中添加一些标题,然后像这样编码:

Sub main()
    Dim cell As Range

    With Range("B1", Cells(Rows.Count, 1).End(xlUp))
        For Each cell In Range("E2:H2")
            .AutoFilter field:=2, Criteria1:=cell.Value
             If CBool(Application.Subtotal(103, .Cells)) Then
                 .Resize(.Rows.Count - 1, 1).Offset(1).SpecialCells(xlCellTypeVisible).Copy cell.Offset(1)
        Next
   End With
   ActiveSheet.AutoFilterMode =False

End Sub