我正在尝试将以下公式转换为VBA语法。我的目标是,当用户输入从单元格(“ A4”)开始的日期值时,从单元格(“ F4”)开始的相邻单元格将返回Day Name。但是,如果单元格(“ 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”)中没有日期值到最后一行,则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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句