从开始日期到结束日期计算年份

时间:2020-05-22 07:57:15

标签: excel vba date count

从开始日期到结束日期计算年份,并输入“文本年份1”,“年份2”等

我正在尝试根据开始日期和结束日期得出的每12个月的年数。 示例:如果开始日期为26/11/2019,结束日期为25/06/2019,则应将“ Year1”指定为“ Year1”,直到结束日期完成12个月;从下一个日期开始,直到完成12个月,应指定“ Year2” “ 等等。 以下是示例数据

Start_Date   End_Date       Text to Appear    Notes
26/12/2019   25/06/2020     Year-1            Start of First Year
26/06/2020   25/12/2020     Year-1            Completion of 12 months
26/12/2020   25/06/2021     Year-2            Start of Second Year
26/06/2021   25/12/2022     Year-2            Completion of 12 months
26/12/2022   25/06/2022     Year-3            Start of Second Year
26/06/2022   25/12/2023     Year-3            Completion of 12 months

enter image description here

1 个答案:

答案 0 :(得分:0)

也许是这样的:

Sub test()
Set Start = Range("A2")
Set rngEnd = Range("B2", Range("B" & Rows.Count).End(xlUp))

Set rngFind = rngEnd.Offset(0, 20)
rngFind.Value = "=text(RC[-20],""dd-mmm"")"
rngFind.Copy
rngFind.PasteSpecial (xlValues)
Start.Select

n = Application.CountIf(rngFind, "25-Dec")
Set c = rngFind.Find("25-Dec", lookat:=xlWhole)
For i = 1 To n

Range(Start.Offset(0, 2), c.Offset(0, -19)).Value = "Year " & i
Set Start = c.Offset(1, -21)
Set c = rngFind.FindNext(c)
Next i

rngFind.ClearContents
End Sub

代码假定完成12个月的结束日期始终是X年12月25日+ 1,开始日期是X年12月26日。

代码正在使用列帮助器,该列帮助器在活动工作表中为列V。 请告诉我第五栏是否有内容。

谢谢。