excel - 在 VBA 宏中使用 WORKDAY
问题描述
我正在尝试在 VBA 宏中使用 WORKDAY 函数,该函数将自动填充一列。我环顾四周并尝试了一些变化,结果好坏参半,没有一个完全符合我的需要。
我需要代码来确定单元格(I 列)是否为空,如果是,则根据单元格中的日期(H 列)确定上一个工作日。我到目前为止的代码是:
Dim rng As range
Set rng = range("I3", Cells(Rows.Count, "I").End(xlUp))
For Each cell In rng
'
If cell.Value = "" Then
cell.Value = "=WORKDAY(""H3"",-1)"
End If
Next
End Sub
谢谢您的帮助!
解决方案
为了将来参考,宏记录器非常擅长为您提供此类事情的参考代码。你可能想要这样的东西:
Dim rng As range
Set rng = range("I3", Cells(Rows.Count, "I").End(xlUp))
rng.cells(1,1).Formula = "=IF(H3="""","""",WORKDAY(H3,-1))"
rng.cells(1,1).AutoFill Destination:=Range("J2:J6"), Type:=xlFillDefault
这将与您将公式(在常规 Excel 中)向下拖动到 rng 中的所有单元格执行相同的操作
推荐阅读
- r - R中的性别检测
- json - 将对象转换为数组
- asp.net-core - 使用 Windows 身份验证的自定义状态代码页
- python - 将图像添加到 tkinter 网格但未显示
- angular - ng2-charts - Tolltip color dont match line color
- c++ - 未能在 SFINAE 中将概念类型识别为 bool
- r - 那么,Carets jumpBackward 究竟是如何工作的呢?
- python - 使用 Python 中的入住和退房日期计算每天的预订数量
- c# - 将 DataGrid 行号绑定到属性
- reactjs - React useHistory,对象的类型为“未知”