如果满足条件,则将单元格粘贴为负值

时间:2017-10-29 21:00:16

标签: vba excel-vba excel

如果满足以下2个条件,我试图将宏复制到一起来复制特定数据:

  • 如果工作表中的列H"数据" =用户定义"日"和
  • 如果工作表中的列Q"数据" =用户定义"方向"

复制该行的列O并粘贴到工作表中"输入"但作为负值。

我目前仍然坚持如何将其粘贴为负值。

这是我的代码:

Sub Negative()

    Dim Day As String
    Dim Direction As String
    Dim LastRow As Integer
    Dim i As Integer

    Sheets("Input").Range("B9:D28").ClearContents

    Day = Sheets("Input").Range("B6").Value
    Direction = Sheets("Input").Range("B7").Value

    For i = 2 To LastRow
        If Sheets("Data").Cells(i, 9) = Day Then
            If Sheets("Data").Cells(i, 17) = Direction Then
                Sheets("Data").Range(Sheets("Data").Cells(i, 15), Sheets("Data").Cells(i, 15)).Copy
                Sheets("Input").Range("C29").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
            End If
        End If
    Next i

End Sub

1 个答案:

答案 0 :(得分:1)

未经测试,但这样的事情应该有效。只需稍微更新您的核心IF语句

即可
If Sheets("Data").Cells(i, 17) = Direction Then
    Sheets("Data").Range(Sheets("Data").Cells(i, 15), Sheets("Data").Cells(i, 15)).Copy
    With Sheets("Input").Range("C29").End(xlUp).Offset(1, 0)
        .PasteSpecial xlPasteFormulasAndNumberFormats
        .Value = .Value * -1
    End With
End If