VBA的新手,但需要帮助。我有以下代码,我试图将其转换为循环,以提供从今天的日期到在A列中找到的日期之间的天数。行数可以根据输入的数据而变化,并希望在单元格进入时停止列A为空白。我也只希望值出现。任何帮助是极大的赞赏。以下内容非常适合第一行。我相信该循环应该出现在第2行,但不知道如何处理。预先谢谢你。
Range(ActiveSheet.Range("E2"), ActiveSheet.Range("E2").End(xlDown).Select
ActiveCell.FormulaR1C1 = "=SUM(TODAY()-OFFSET(R2C1,0,0,COUNTA(c[-4]),1))"
ActiveCell.Value = ActiveCell.Value
答案 0 :(得分:1)
您不需要为此循环。这将确定Column A
中的使用范围,并沿Column E
向下的相同使用范围应用公式(但仅粘贴值)
此外,请注意,您不需要使用.Select
,.Active
或.Selection
。这里。直接限定您的范围,您将避免在途中遇到麻烦。出于学习目的,最好表现得像那些行不存在:)
Sub DateDif()
Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim LRow As Long: LRow = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
With ws.Range("E2:E" & LRow)
.Formula = "=NOW() - A2"
.Value = .Value 'If you want the formula to remain, remove this line
End With
End Sub