使用WEEKDAY的VBA条件IF语句

时间:2015-12-29 17:10:26

标签: vba if-statement conditional weekday

Excel列的屏幕截图

Screenshot of Excel Columns

我正在尝试根据星期几编写条件IF语句。

  • A栏有日期。

  • 列AK具有周末值。

  • 列AL具有工作日值。

我需要正确的值(取决于星期几)流入列AT。我提出的代码不起作用。所有出现在AT中的都是AK值。我对VBA很新,我肯定错过了一些东西。提前感谢您的帮助。

Sub Weekday()

For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row

If Range("A" & i) = "=Weekday" Then 'This line of code doesn't work

Range("AT" & i).Value = Range("AL" & i).Value 'This line of code works

Else
Range("AT" & i).Value = Range("AK" & i).Value 'This line of code works

End If

Next

End Sub

更新:AK和AL值均为小数,如506.468或348.286

1 个答案:

答案 0 :(得分:0)

返回星期几的VBA公式与工作表公式略有不同。尝试

If  Weekday(Range("A" & i).value, vbMonday) < 6 Then

Further information on this function and it's arguments.