|
请问如何用vba按以下规则填写年份和月份,谢谢!
4位数字分别代表“年年月月”,1206即代表12年,06即代表6月,以下的要求就是自动填充从12年6月到13年8月
起始期间 1206
结束期间 1308
最后填充的结果是
1206
1207
1208
1209
1210
1211
1212
1301
1302
1303
1304
1305
1306
1307
1308
- Sub myfill()
- Dim dStart As Date, dEnd As Date
- Dim strTemp As String
- Dim arr(1 To 1000, 1 To 1), i As Integer
- strTemp = Range("b2").Value
- dStart = CDate(Format(strTemp & "01", "1900/00/00"))
- strTemp = Range("b3").Value
- dEnd = CDate(Format(strTemp & "01", "1900/00/00"))
- Do While dStart <= dEnd
- i = i + 1
- arr(i, 1) = Format(dStart, "yymm")
- dStart = DateAdd("m", 1, dStart)
- Loop
- If i Then
- Range("b6").Resize(i).Value = arr
- MsgBox "填充完成"
- Else
- MsgBox "日期无效"
- End If
- End Sub
复制代码
|
|