我有2列,一列有日期(列A:A,类型为dd / mm / yyyy hh:mm)另一列有参数值(列B:B),在每个日期注册。但并非所有日期都有注册值(在B列中我会有-9999。
我需要的是复制到其他列(比如D:D和E:E),只复制除-9999之外的值和相应日期的单元格。例如:
我的数据系列很长,它可以达到10000或更多行,所以我不能“手动”进行这个选择。我更喜欢宏,而不是数组公式,因为我想选择计算的时刻。
答案 0 :(得分:3)
此代码应该可以满足您的需求。这会将列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