将date值更改为星期几名称Vba

我正在尝试使下面的公式成为VBA语法我的目标是,当用户input从单元格(“A4”)开始date值时,从单元 格(“F4”)开始的相邻单元将返回date名称 。 但是,如果在单元格(“A4”)中没有最后一行的date值,则列F中相应的相邻单元格不应具有值。

语法我有一个Excel公式是

=TEXT(WEEKDAY(A4),"dddd") 

作为一个VBA录音机,我所得到的是如下:

 Sub Day_Names() Range("F4").Select ActiveCell.FormulaR1C1 = "=TEXT(WEEKDAY(RC[-5]),""dddd"")" Range("F4").Select Selection.AutoFill Destination:=Range("F4:F29"), Type:=xlFillDefault Range("F4:F29").Select End Sub 

但是,如果在单元格(“A4”)中没有最后一行的date值,则列F中相应的相邻单元格不应具有值。

F4需要的公式是=IF(A4="","",TEXT(WEEKDAY(A4),"dddd"))

您不需要自动填充。 您可以一次input整个范围的公式。 看到这个代码

 Sub Sample() Dim ws As Worksheet Dim Rng As Range Set ws = ThisWorkbook.Sheets("Sheet1") Set Rng = ws.Range("F4:F29") Rng.Formula = "=IF(A4="""","""",TEXT(WEEKDAY(A4),""dddd""))" End Sub 

在这里输入图像说明