首页 > 解决方案 > VBA 循环替换多个 if 语句

问题描述

我有一个 Excel 工作表,其中包含IfVBA 中的重复Worksheet_Change语句

If Range("D5") = Range("D4") Then
   Range("c5") = DateAdd("w", Range("i4"), Range("c4"))
Else
   Range("c5") = Range(c2")
End If    
If Range("D6") = Range("D5") Then
   Range("c6") = DateAdd("w", Range("i5"), Range("c5"))
Else
   Range("c6") = Range(c2")
End If

它会重复D5D150我的问题是我可以在循环中重写它而不是重复 if 语句 145 次吗?

我在循环方面做得不好

谢谢

标签: excelvba

解决方案


试试这个For循环:

For i = 5 To 150
    If Range("D" & i) = Range("D" & (i-1)) Then
       Range("C"& i) = DateAdd("w", Range("I" & (i-1)), Range("C" & (i-1)))
    Else
       Range("C" & i) = Range("C2")
    End If
Next i

推荐阅读