Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3456|回复: 9

如何按月份循环,12月后年份+1 月份从1月开始

[复制链接]
发表于 2020-5-22 17:28 | 显示全部楼层 |阅读模式
1学分


如何按月份循环,12月后年份+1 月份从1月开始,附件里的不超过12个月就没问题  超过12个月就乱了 麻烦高手给看下,谢谢
按月份循环.rar (24.8 KB, 下载次数: 23)

最佳答案

查看完整内容

老是说有不良信息,就一串代码有什么不良信息?只好截图发上来。
发表于 2020-5-22 17:28 | 显示全部楼层
老是说有不良信息,就一串代码有什么不良信息?只好截图发上来。
未命名.bmp

评分

参与人数 2学分 +6 收起 理由
xlvevc + 3 学习
lsyylw + 3 太强大了

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2020-5-23 09:10 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2020-5-23 22:53 | 显示全部楼层
自己摸索了好久  基本达成了想要的效果  麻烦高手看下有没有更好的方法
  1.     Dim x, y
  2.     For I = 1 To Me.dyyf Step 1
  3.         x = Me.qsyf + I
  4.         y = Int(x / 12) * 12
  5.         Me.TextBox1 = x
  6.         If x > 12 Then Me.TextBox1 = x - y
  7.         If Me.TextBox1 = 0 Then Me.TextBox1 = 12
  8.         If Me.TextBox1 = 1 Then Me.qsnf = Me.qsnf + 1
  9.         Sheets("Sheet1").Range("D12").Value = "这是打印第" & I & "页"
  10.         'ActiveSheet.PrintOut'打印
  11.         ActiveSheet.PrintPreview '打印预览
复制代码
回复

使用道具 举报

 楼主| 发表于 2020-5-23 22:54 | 显示全部楼层
  1.     Dim x, y
  2.     For I = 1 To Me.dyyf Step 1
  3.         x = Me.qsyf + I
  4.         y = Int(x / 12) * 12
  5.         Me.TextBox1 = x
  6.         If x > 12 Then Me.TextBox1 = x - y
  7.         If Me.TextBox1 = 0 Then Me.TextBox1 = 12
  8.         If Me.TextBox1 = 1 Then Me.qsnf = Me.qsnf + 1
  9.         Sheets("Sheet1").Range("D12").Value = "这是打印第" & I & "页"
  10.         'ActiveSheet.PrintOut'打印
  11.         ActiveSheet.PrintPreview '打印预览
复制代码
摸索了好久,基本达到了效果,麻烦高手路过看下需要改进不
回复

使用道具 举报

 楼主| 发表于 2020-5-25 22:31 | 显示全部楼层
大灰狼1976 发表于 2020-5-24 21:18
老是说有不良信息,就一串代码有什么不良信息?只好截图发上来。

版主,有点小问题  是从起始月份那个月开始的 现在是代码是从起始月份的下一个月开始
回复

使用道具 举报

发表于 2020-5-26 19:49 | 显示全部楼层
本帖最后由 大灰狼1976 于 2020-5-26 19:52 编辑
xlvevc 发表于 2020-5-25 22:31
版主,有点小问题  是从起始月份那个月开始的 现在是代码是从起始月份的下一个月开始

可以把s=dateadd(...)这句放到循环体最下方(就是next上面),再试试。
抱歉还要设定s的初始值。s=dateserial(qsnf,qsyf,1)

评分

参与人数 1学分 +3 收起 理由
lsyylw + 3 学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2020-5-27 15:20 | 显示全部楼层
大灰狼1976 发表于 2020-5-26 19:49
可以把s=dateadd(...)这句放到循环体最下方(就是next上面),再试试。
抱歉还要设定s的初始值。s=dates ...

把s=dateadd(...)这句放到next上方,年份乱跳了
s=dateserial(qsnf,qsyf,1) 加上后 都不跳了。。。。
回复

使用道具 举报

发表于 2020-5-27 17:11 | 显示全部楼层
等下我重写吧,昨天有事所以有点敷衍了。
回复

使用道具 举报

发表于 2020-5-27 19:32 | 显示全部楼层
老问题,还是发图片。
未命名.bmp

评分

参与人数 2学分 +6 收起 理由
lsyylw + 3 太强大了
xlvevc + 3 学习

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-25 11:41 , Processed in 0.758131 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表