使用循环来计算VBA单元格中

时间:2018-09-23 23:55:42

标签: excel vba

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

1 个答案:

答案 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