java获取特定时间段的信息,从VBA中的日期范围获取特定日期

我有一张工作表在A栏中有一系列日期 . 我已经找到了获得最后一行的方法:

LastRow = Worksheets("TIME").Cells(Rows.Count, "A").End(xlUp).Row

现在我正在尝试获取具体日期 . 该范围不包含周末,但由于日期是专有的,我无法使用WorkDay函数来查找我需要的内容 .

案例1:

从可用的最后日期开始,我试图获取1年前的日期(如果日期不可用,请选择下一个可用的日期) .

我在这里做的是使用日期函数并减去1年..

day1Y = date(year(LastRow)-1,month(LastRow),day(LastRow))

为了匹配,我将日期范围转换为数组,并使用函数确定它是否在数组中 . 如果是,那就去吧,但如果不是,我不知道如何获得下一个 .

Dim DateArray() as Variant

Dim WantedDate1 as date

Dim WantedDate2 as date

DateArray() = Worksheets("TIME").Range("A2:A" & LastRow).Value

If IsInArray(day1Y) = True then

WantedDate1 = .Cells(1,LastRow).Value

End if

案例2:

从上一个可用日期开始,我试图获得同一年的第一个日期(如果上次日期是2015年8月10日,则根据该范围内的可用日期获得2015年的第一个可用日期) .

WantedDate2 = Year(.Cells(1,LastRow).Value)

我得到了最后一次的那一年,但是再一次,我找不到那一年的第一个日期 .

任何帮助将深表感谢 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值