excel - 使用多个恒定条件 VBA 循环
问题描述
我正在尝试做一个循环,但我有点卡住了。
Sub Macro()
Range("A392: A401").Value = Range("N2")
Range("A402: A411").Value = Range("N3")
Range("A412: A421").Value = Range("N4")
Range("A422: A431").Value = Range("N5")
....
我需要重复这个逻辑(在 A 列上为每 10 行设置一个值)这个值将从 N 列从 1 到 1 直到找到一个空行......
我无法在这些倍数条件下进行循环,您能帮帮我吗?
非常感谢!
解决方案
Range.Offset是操纵范围的好方法。使用它,我们可以自动化范围以在每个循环中向下移动工作表。
Sub Macro()
Dim i As Long
While Range("N2").Offset(i) <> ""
'Offset will shift N2 down by one each loop
'Offset will shift the 10 cell range down by 10 on each loop
Range("A392: A401").Offset(i * 10).Value = Range("N2").Offset(i)
i = i + 1
Wend
End Sub
推荐阅读
- android - 在 Android 片段中使用谷歌地图
- es6-promise - 使用 lit-html 从 Promise 渲染数组,直到
- sql - 将 SQL 查询转换为 C# 中的查询
- ruby-on-rails - (Rails)当有人点击链接时试图显示正确的项目
- javascript - JavaScript on Bootstrap 5 bug
- javascript - 通过复选框输入值传递数组?
- sql - 基于在另一个表中的 id 查找返回值的 SQL 查询 - 具有可为空的值
- python - Python:使用正则表达式提取小数点后的值
- python - 如何在循环中使用 if 语句分解不同大小的二维数组?
- javascript - 如何相对于表单输入网格定位括号和符号?