Excel vba 代码要怎么写,问题见图 谢谢!

 我来答
百度网友61f144c3
2015-11-10 · TA获得超过4145个赞
知道小有建树答主
回答量:1224
采纳率:71%
帮助的人:366万
展开全部

不需要VBA都可以的,只要公式

F1=IF(DATE(YEAR($B$1),MONTH($B$1)+ROW(A1)-1,1)>DATE(YEAR($C$1),MONTH($C$1),1),"",DATE(YEAR($B$1),MONTH($B$1)+ROW(A1)-1,1))

往下填充,然后将F列的单元格格式改为酱紫的:

追问
谢谢
wuhaiyi_1116
2015-11-10 · TA获得超过230个赞
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:45.8万
展开全部
Sub 宏1()
Dim i As Integer, n As Integer
Dim y1 As Integer, m1 As Integer, d1 As Integer
Dim y2 As Integer, m2 As Integer, d2 As Integer
y1 = Year(Sheet1.Range("B1"))
m1 = Month(Sheet1.Range("B1"))
y2 = Year(Sheet1.Range("C1"))
m2 = Month(Sheet1.Range("C1"))
If Sheet1.Range("B1") > Sheet1.Range("C1") Then MsgBox "C1单元格日期早于B1单元格": Exit Sub
Sheet1.Columns(6).Clear
n = (y2 - y1) * 12 + m2 - m1
For i = 0 To n
If m1 + i > 12 Then y1 = y1 + 1: m1 = m1 - 12
Sheet1.Cells(i + 1, 6) = y1 & "年" & m1 + i & "月"
Next i

End Sub
上面的可能更简单,既然写了就贴出来。
追问
谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
世界喜欢不一样
2015-11-10 · TA获得超过2372个赞
知道大有可为答主
回答量:1546
采纳率:50%
帮助的人:619万
展开全部
Sub iMonth()
    Dim iMonth As Long, i As Long
    iMonth = Month(Range("C1")) - Month(Range("B1")) + 1
    For i = 1 To iMonth
        Range("F" & i) = Format(Range("B1") + 30 * i - 30, "yyyy年m月")
    Next
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友00702db
2015-11-10 · TA获得超过3.9万个赞
知道小有建树答主
回答量:3574
采纳率:49%
帮助的人:336万
展开全部
选中单元格C1,右键设置单元格式,选择日期-----XXXX年XX月就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式