首页 > 解决方案 > 在动态公式中输入日期的输入框方法

问题描述

我目前运行一段非常简单的 vba 代码,它运行一个简单的if公式来检查我所做的销售是否在某个日期内。像下面...

sub date
lastrow1 = Sheets("Tracker").cells.Find("*", cells(1, 1), xlFormulas, xlPart, xlByRows, xlPrevious, False).Row
        Sheets(1).Activate
        With Sheets(1)
        .Range("BG2:BG" & lastrow1).FormulaR1C1 = "=IF(RC[-18]>DATE(2020,1,1),""Yes"",""No"")"
        End With
end sub

这很好用,但是每次我想修改日期时,返回代码并修改括号内的日期(例如,在这种情况下为 (20,1,1))相当繁琐,我想创建一个允许我自动更新日期的输入框。然而,我似乎无法让它发挥作用,任何人都可以帮助我走上正确的道路。谢谢。

sub dateinput
lastrow1 = Sheets("Tracker").cells.Find("*", cells(1, 1), xlFormulas, xlPart, xlByRows, xlPrevious, False).Row

Dim InputDate As String, dte As Date
Sheets(1).Activate
InputDate = Application.InputBox("Format yyyy,m,dd", Title:="Please Select Date", Type:=2)
If IsDate(InputDate) Then
Range("BG2:BG" & lastrow1).FormulaR1C1 = "=IF(RC[-18]>Date(InputDate),""Yes"",""No"")"
Else
MsgBox ("Date not valid")
End If
With Sheets(1)
.Range("BG2:BG" & lastrow1).FormulaR1C1 = "=IF(RC[-18]>DATE(2020,1,1),""Yes"",""No"")"
End With
end sub

标签: excelvba

解决方案


推荐阅读