excel - VBA在一个范围内向后循环
问题描述
我有一点问题,那就是;我有下表,我想要的是从右到左循环并计算所有空单元格,直到代码遇到一个字符串。空单元格的数量应记录在右侧的列中。 https://imgshare.io/image/vba.1tPQf
问题是我无法弄清楚如何向后循环并移动到下一行并再次从右开始。我希望你们能帮助我解决这个问题。
先感谢您。
解决方案
在循环的初始化中,您可以指定关键字“Step”来确定循环在增量方面的行为方式。
Sub BackwardLoopInaRange()
Dim row As Integer, column As Integer
Dim startingPoint As Range: Set startingPoint = Cells(2, 7)
Dim resultColumn As Range: Set resultColumn = Range("H2")
Range("H2:H5").ClearContents 'reset counter
For row = 0 To 3
For column = 0 To -6 Step -1
If startingPoint.Offset(row, column).Value = vbnullsting Then
resultColumn.Offset(row, 0).Value = resultColumn.Offset(row, 0).Value + 1
Else: Exit For 'exits the inner loop if next cell in a row is not empty
End If
Next column
Next row
End Sub
推荐阅读
- python - 理解 Python 中的 unicode 和编码
- php - Laravel 在 null 上调用成员函数
- node.js - Nodejs / React Elastic Beanstalk:对代码库的更改未显示在前端
- xpath - 使用 XPATH previous:: 更像是一个数组
- c# - 如何修复在使用同一服务器的两个单独系统中使用时出现问题的 winform 应用程序
- docker - Docker Swarm 中的 Consul
- java - javax validation-api 返回 Map.Entry.value 而不是 Map.Entry.key
- ruby-on-rails - Rails 根据通过三个表和关联表的客户邮政编码向经理发送电子邮件
- spring-cloud-stream - Spring Cloud Stream:spring.cloud.stream.default.consumer.concurrency 属性的确切含义
- javascript - 如何更改此代码以使用给定元素