【问题标题】:excel: generate missing years in year range either in VBA or functionexcel:在VBA或函数中生成年份范围内的缺失年份
【发布时间】:2013-07-10 23:49:44
【问题描述】:

我一直在寻找功能/vba 宏解决我的问题的几个小时 - 不幸的是无济于事......也许你们可以帮忙?

我需要在一个范围内生成“间隔”年份(year_start year_end - 单独的输入),即对于 1997-2002,脚本应该生成(最好在一列中,值用 , 分隔)以下内容: 1997、1998、1999、2000、2001、2002。

请帮忙!

提前非常感谢您的帮助!

谢谢!

【问题讨论】:

    标签: excel excel-2007 range vba


    【解决方案1】:

    如果您必须使用 VBA,而不是 Excel 的内置 自动填充,请尝试以下操作:

    dim iYear As Integer, iYearS as integer, iYearE as integer, iOffset as integer
    dim oRangeStart as range
    
    set orangestart=range("A1")
    
    iYearS =1997
    iYearE = 2002
    
    for iYear = iYearS to iYearE
        orangestart.offset(iOffset,0).value=iyear
        iOffset=iOffset+1
    next
    

    但你肯定可以自动填充吗?

    【讨论】:

    • 谢谢 - 我会试试你的脚本。不能使用自动填充,因为这必须在“逐个案例/逐行”的基础上自动发生
    • 我们可以更新脚本以根据动态值生成日期吗? IE。来自 A 列 -> year_start 和 B 列 -> 年末的内容。然后它应该在 C 列的相应单元格中生成结果
    • 如何将结果放入一个单元格中?即结果条目在一个单元格中用逗号分隔? -- 请帮忙!
    • @user2381937:在循环内,您将删除行 iOffset=... 以阻止其递增,并编辑放入值的行以连接 orangestart.value = orangestart.value & ", " 之类的值
    猜你喜欢
    • 2013-07-11
    • 2021-04-05
    • 1970-01-01
    • 2014-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多