自动填充第二天日期的 VBA Excel 代码,但仅适用于工作日

标签 vba excel excel-2010

我有这段代码只是卡在位于 VBA 项目中的工作表中,该项目自动填充 Excel 表单的日期。我一直在修改它,让它在个人在单元格 I6 中输入姓名时填充当天的日期。在第 8 行,

r.Offset(0, 12).Value = Date + 1

我添加了一个 1 来填充第二天的日期。现在,如果在星期五,我想进一步输入下一个工作日的日期。因此,每个工作日,当用户在单元格 I6 中输入数据时,它将下一个工作日的日期插入到同一范围内向下 12 列的单元格中,除了星期五,我希望填充的日期是下周的星期一。
Private Sub Worksheet_Change(ByVal Target As Range)
     Dim I As Range, AF As Range, Inte As Range, r As Range
     Set I = Range("I6")
     Set Inte = Intersect(I, Target)
     If Inte Is Nothing Then Exit Sub
     Application.EnableEvents = False
         For Each r In Inte
             r.Offset(0, 12).Value = Date + 1
         Next r
     Application.EnableEvents = True
End Sub

我需要一个 if 语句吗?如果是这样,我可以把它放在 For 循环中(?)。我不是编码员,我需要这个来简化我的工作生活。任何指导将不胜感激。

最佳答案

已经有跳过周末的功能。无需重新发明轮子。只需使用 WORKDAY功能

r.Offset(0, 12) = Application.WorksheetFunction.Workday(Date, 1)

关于自动填充第二天日期的 VBA Excel 代码,但仅适用于工作日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51991258/

相关文章:

java - 使用poi在java中读取excel文件

excel - VBA Excel ascii转十六进制

excel - 如何使用 VBA 从网站提取数据并填充 Excel 工作表?

excel - 将数据从关闭的工作簿复制到 VBA 中的另一个打开的工作簿?

excel - EnterKey 在 VBA 用户窗体中按下按钮

ruby - 使用 ruby​​ 读写同一个 excel 文件

VBA Excel将 "/"字符串转换为除法等

excel - 忽略 Excel 折线图上的单元格

c# - 找不到可安装的 ISAM

excel - 在excel中反转字母