我正在尝试将我的 excel 公式转换为 VBA ,以自动化我每天执行的电子表格。
我如何更改以下内容以在VBA中工作?
=IF(OR(A2="Story",A2="Task"),((J2+SUMIFS($J:$J,$D:$D,C2))/3600)/8,"")
=IF(OR(A2="Story",A2="Task"),((K2+SUMIFS($K:$K,$D:$D,C2))/3600)/8,"")
=IF(OR(A2="Story",A2="Task"),IF(OR(E2="Done",E2="Closed"),O2,IF(N2<M2,((M2-N2)/M2)*O2,0)),"")
任何帮助将不胜感激。
答案 0 :(得分:2)
您可以通过VBA这样简单的方式使用公式
Sub Test()
With Range("B2:B" & Cells(Rows.Count, 1).End(xlUp).Row)
.Formula = "=IF(OR(A2=""Story"",A2=""Task""),((J2+SUMIFS($J:$J,$D:$D,C2))/3600)/8,"""")"
End With
End Sub
请注意,字符串应双引号““ Story”“ .. 然后,您可以分配要插入公式的范围。 另外,您可以添加一行以仅获取值而不是公式
Sub Test()
With Range("B2:B" & Cells(Rows.Count, 1).End(xlUp).Row)
.Formula = "=IF(OR(A2=""Story"",A2=""Task""),((J2+SUMIFS($J:$J,$D:$D,C2))/3600)/8,"""")"
.Value = .Value
End With
End Sub