【问题标题】:Changing Date Value to Week Day Name Vba将日期值更改为工作日名称 Vba
【发布时间】:2015-05-22 11:39:02
【问题描述】:

我正在尝试将以下公式转换为 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单元格应该是空白吧?

标签: excel vba


【解决方案1】:

但是,如果最后一行的单元格 (“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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多