VBA查找sorting和过去的值

我的数据在列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

在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