带循环的嵌套IF

时间:2016-02-25 21:52:14

标签: excel-vba vba excel

我想在列#34; AL"中写一个新值。基于R和AL列中的标准/值。我不是VBA的专家,我在google搜索之后写了下面的内容,它正在工作,但我想知道如何即兴表达速度。这段代码花费的时间比预期的要长,似乎一直在寻找每个条件,任何建议都会感激不尽。

For Each cel In Range("R5:R" & wsSB.Range("F1000").End(xlUp).Row)

        If cel.Value <> "" Then
            If cel.Value = "per visit" And cel.Offset(0, 20).Value = "PROF" Then cel.Offset(0, 20).Value = "D001"
                ElseIf cel.Value = "per visit" And cel.Offset(0, 20).Value = "ER7O" Then cel.Offset(0, 20).Value = "ER01"
                ElseIf cel.Value = "per day" And cel.Offset(0, 20).Value = "OPFAC" Then cel.Offset(0, 20).Value = "OPS1"
                ElseIf cel.Value = "per day" And cel.Offset(0, 20).Value = "IPFAC" Then cel.Offset(0, 20).Value = "APD1"
                ElseIf cel.Value = "per admission" Then cel.Offset(0, 20).Value = "ADMT"
            Else: cel.Offset(0, 20).Value = ""
        End If
    Next
    End If

0 个答案:

没有答案