【发布时间】:2021-06-28 01:05:59
【问题描述】:
我需要跟踪材料的过期日期。为此,我需要搜索特定的时间间隔(例如,从今天开始的 80 天和 40 天之后)。
首先,我以 dd/mm/yyyy 格式设置今天的日期。然后,从用户那里获取两个输入,第一个是识别今天之后的日期(比如 x),第二个输入是今天之前多少天(比如 y)。
现在,我需要将 (today + x) 和 (today - y) 日期与材料的有效期进行比较,以便材料的保质期是否在 [y,x] 区间内。但是,我被卡住了。
我将后面和后面定义为 inputBox 变量。输入到后面的值将分配给变量 x 并在今天之前给出“后”天,输入到进一步的值将分配给变量 y 并在之后“更远”天。
在这里我用 x 和 y 日期确定今天的日期(“G1”单元格)和时间间隔
Public Sub date()
Dim DateToProcess As Date
DateToProcess = Date
BUBD.Cells.Range("G1") = DateToProcess
rear = InputBox("How many days do you want to trace back?")
x = DateAdd("d", -rear, CDate(Range("G1")))
further = InputBox("How many days after do you want to check?")
y = DateAdd("d", further, CDate(Range("G1")))
End Sub
那我想比较材料BUBD和x和y
If rngRisk(j) > x Or rngRisk(j) < y
当我将 x 和 y 与 rngRisk 列中的过期日期进行比较时,所有值都会被粘贴,无论是否在区间内
我如何将材料的过期日期与 x 和 y 进行比较?
【问题讨论】:
-
我们没有看到您的所有代码,但也许这可以工作。
If CDate(rngRisk(j)) > x And CDate(rngRisk(j)) < y Then …. -
能否提供完整的 if 语句和一些示例数据?
-
你想要
And而不是Or