如何在excel里用vba或函数实现如问题补充所述的两个日期的月份的提取?

比如2014-1-26到2014-9-25,就会输出1,2,3,4,5,6,7,8共8个月的字符;如果是跨年2013-9-13到2015.3.12就输出a9,a10,a11,a12,1,2,3,4,5,6,7,8,9,10,11,12,b1,b2共18个月的字符
假设两个日期数据分别在 A1 和 B1
则输出公式:
=MID("a01,a02,a03,a04,a05,a06,a07,a08,a09,a10,a11,a12,001,002,003,004,005,006,007,008,009,010,011,012,b01,b02,b03,b04,b05,b06,b07,b08,b09,b10,b11,b12",MONTH(A1)*4-3+(YEAR(B1)=YEAR(A1))*48,DATEDIF(EOMONTH(A1,-1)+1,EOMONTH(B1,0)+1,"M")*4)

如果希望得到提慧嫌棚问中的字符格式,则前则:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(MID("a01,a02,a03,a04,a05,a06,a07,a08,a09,a10,a11,a12,001,002,003,004,005,006,007,008,009,010,011,012,b01,b02,b03,b04,b05,b06,b07,b08,b09,b10,b11,b12"者启,MONTH(A1)*4-3+(YEAR(B1)=YEAR(A1))*48,DATEDIF(EOMONTH(A1,-1)+1,EOMONTH(B1,0)+1,"M")*4),",0",","),",0",","),"a0","a"),"b0","b")
Sub 日期()
d1 = Format([a1], "yy")
d2 = Format([a2], "yy")
dd1 = CInt(Format([a2], "mm"))
dd2 = CInt(Format([a1], "mm"))
h = 1
Dim arr(1 To 24)
If d1 = d2 Then
For i = dd2 To dd1
arr(h) = i
h = h + 1
Next
ElseIf d2 > d1 Then
For i = dd2 To 12
arr(h) = "a" & i
h = h + 1
Next
For i = 1 To dd1
arr(h) = "b" & i
h = h + 1
Next
End If

arr1 = Join(arr)
arr1 = Application.Trim(arr1)
brr = Split(arr1)
arr1 = Join(brr, ",")
[B1] = arr1
End Sub

‘’枯握悄‘’‘’‘’A1单元格为较小的日期,A2为较大的日期。输入在B1。A1,A2只皮碰考虑为日期类型时否则出错。另外A2最多比A1大一年(你题目指定的没渣)