将日期值转换为星期几名称 VBA

3
我希望您能将以下公式转换为VBA语法我的目标是,当用户输入从单元格(“A4”)开始的日期值时,从单元格(“F4”)开始的相邻单元格将返回星期几名称。 然而,如果单元格(“A4”)中没有日期值到最后一行,则列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或a5、a6等没有值,则相应的F单元格应该为空,对吧? - KKowalczyk
1个回答

0
然而,如果单元格“A4”到最后一行没有日期值,则列F中相应的相邻单元格不应该有值。
您需要的公式是“F4”=IF(A4="","",TEXT(WEEKDAY(A4),"dddd")) 您不需要自动填充。您可以一次将公式输入整个范围。请参阅此代码
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

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接