将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