使用macros复制基于标准的值

我有2列,一个与date(列A:A,typesDD / MM / YYYY HH:毫米)另一个参数的值(列B:B),在每个date注册。 但是并不是所有的date都有注册的值(在这种情况下BI列将有-9999。

我需要的是复制到其他列(如D:D和E:E)只有其他值不是-9999和对应date的单元格。 例如:


在这里输入图像说明

我的数据系列很长,可以达到10000或更多,所以我不能做这个select“手动”。 我更喜欢macros而不是数组公式,因为我想select计算的时刻。

这段代码应该做你正在寻找的东西。 这将复制列B中的值的所有行到列D和E.

Sub copyrows() Dim RowNo, newRowNo As Long RowNo = 2 newRowNo = 2 With ThisWorkbook.ActiveSheet .Cells(1, 4).Value = "Date" .Cells(1, 5).Value = "H_Selected" Do Until .Cells(RowNo, 1) = "" If .Cells(RowNo, 2) <> "-9999" Then .Cells(newRowNo, 4) = .Cells(RowNo, 1) .Cells(newRowNo, 5) = .Cells(RowNo, 2) newRowNo = newRowNo + 1 End If RowNo = RowNo + 1 Loop End With End Sub