繁体   English   中英

使用宏复制基于条件的值

[英]Copy values based on criteria with macro

我有2列,一列有日期(列A:A,类型为dd / mm / yyyy hh:mm)另一列有参数值(列B:B),在每个日期注册。 但并非所有日期都有注册值(在这种情况下,BI列将具有-9999。

我需要的是复制到其他列(比如说D:D和E:E)只复制除-9999之外的值的单元格以及相应的日期。 例如:


在此输入图像描述

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

此代码应该可以满足您的需求。 这会将列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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM