excel - VBA 循环替换多个 if 语句
问题描述
我有一个 Excel 工作表,其中包含If
VBA 中的重复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
它会重复D5
到D150
我的问题是我可以在循环中重写它而不是重复 if 语句 145 次吗?
我在循环方面做得不好
谢谢
解决方案
试试这个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
推荐阅读
- matlab - 使用 fmincon 在 Matlab 中操作矩阵
- r - R在数据框R上应用自制格式化功能
- java - 如何使 ExampleMatcher 只包含一个属性?
- c# - 为什么windows服务OnStart()中的Task.Run()会导致服务拒绝停止?
- scala - 当泛型类型与无界通配符一起使用时,不考虑类型参数绑定
- google-analytics - 将 Google Analytics 数据提取到 S3 或 Redshift
- javascript - 喜欢/不喜欢超链接不能以面向对象的方式工作?
- git - 让“git gui”打破差异中的长线?
- html - 尝试在Angular中的数组中显示表中的数据
- javascript - 从 location.hash 中提取特定的参数值