繁体   English   中英

使用Excel Loop(VBA)更新数组范围

[英]Use Excel Loop (VBA) to update array ranges

所需的最终结果:使用宏选择一个单元格范围(D530:O530,然后D531:O531,向下到1029),然后将标准函数“转换”为数组。

我认为没有办法让F2和CSE达到500次,而是应该有一种简单的方法让Excel进行提升。

我为前几行记录了一个宏(作为示例),然后尝试将该操作重复500次以上。

Sub ArrayUpdateLoop()
'
' ArrayUpdateLoop Macro
'
    Range("D530:O530").Select
    For i = 1 To 500
    Range("D530:O530").Select
    ActiveCell.Offset(1, 0).Select
    Selection.FormulaArray = "=Spreader(Rollouts,R[-503]C:R[-503]C[14])"
   Next
End Sub

上面是我提议/修改的使用循环的代码,该循环似乎可以运行,但实际上并未执行该操作。

这是我第一次使用循环重做X次操作,而且我还没有找到很多MS文档/等。 非常有帮助。

感谢任何反馈或帮助:-)

您需要在每个循环中向下偏移一行:

Sub OffsetDown()
    Dim i&, rng As Range
    '// Start from the row above to line up with loop
    Set rng = Range("D529:O529")
    For i = 1 to To 500
        Set rng = rng.Offset(1) '//Move one cell down
        rng.FormulaArray = ...
    Next
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM