如何创建If循环

时间:2018-03-29 12:55:13

标签: vba loops if-statement

我有2列我需要比较的美元金额。数据来自两个不同的来源,但它们应该匹配。每个月有不同数量的付款,所以我不知道下次会有20或30个付款。所以我需要比较这两个流明。我想要做的是使用if函数

If [n3] = [u3] Then
    [q3] = "yes"
Else
    [q3] = "no"
End If

我不知道如何使用循环来完成每次付款。

1 个答案:

答案 0 :(得分:0)

  1. 计算具有从单元格开始的值的行数(定义为Range对象)的函数

    Public Function CountRows(ByVal r As Range) As Long
        If IsEmpty(r) Then
            CountRows = 0
        ElseIf IsEmpty(r.Offset(1, 0)) Then
            CountRows = 1
        Else
            CountRows = r.Worksheet.Range(r, r.End(xlDown)).Rows.Count
        End If
    End Function
    
  2. Sheet代码中用于检查的用法示例。

    Public Sub CheckPayments()
        Dim rn as Range, ru as Range, rq as Range
        'One price column & first value
        Set rn = Range("N3")
        'Otjher price column & first value
        Set ru = Range("U3")
        ' Check result column & first value
        Set rq = Range("Q3")
    
        Dim i as Long, n as Long
        ' Count non-empty cells below "N3"
        n = CountRows(rn)
    
        'Loop through rows
        For i = 1 to n
            ' Check for matching values
            If rn.Cells(i,1).Value = ru.Cells(i,1).Value Then
                rq.Cells(i,1).Value = "yes"
            Else
                rq.Cells(i,1).Value = "no"
            End If
        Next i
    End Sub