我正在使用Excel电子表格来填充一个6天的轮换日历(第1-6天)。在下雪的情况下,我们按照下雪日的日程重新开始下一个学年。我试图写vba,以增加1天的所有突出显示(我手动高亮)日期,除非是星期五,然后添加3。
下面是我到目前为止所使用的代码(我也尝试过许多其他的变体)。它似乎跳过了If语句到Else语句。(这意味着它将按预期增加1天,但不增加3天到星期五)。你的帮助将不胜感激。谢谢你,金
Sub Add_Day_To_Range()
Dim c As Range
Dim Wkday As Integer
Wkday = Weekday(#1/6/2020#, vbMonday)
For Each c In Selection.Cells
If Wkday = 5 Then
c.Value = c.Value + 3
Else: c.Value = c.Value + 1
End If
Next c
End Sub发布于 2020-03-04 15:03:36
将工作日添加到循环中应该可以解决这个问题。根据单元格中的日期格式,可能无法完全工作,但应该是接近的。
Sub Add_Day_To_Range()
Dim c As Range
Dim Wkday As Integer
For Each c In Selection.Cells
Wkday = Weekday(c.Value, vbMonday)
If Wkday = 5 Then
c.Value = c.Value + 3
Else: c.Value = c.Value + 1
End If
Next c
End Subhttps://stackoverflow.com/questions/60528813
复制相似问题