我没什么问题,那就是; 我有下表,我想要的是从右到左循环并计算所有空单元格,直到代码遇到字符串为止。空单元格的数量应记录在右侧列中。 https://imgshare.io/image/vba.1tPQf
问题是我无法弄清楚如何向后循环并前进到下一行并再次从右开始。我希望你们能帮我这个忙。
谢谢。
答案 0 :(得分:1)
在循环的初始化过程中,可以指定关键字“ 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
答案 1 :(得分:-1)
只是为了改善Dariusz Sokol的答案。
Sub BackwardLoopInaRange2()
Dim row As Long, column As Long
Dim startingPoint As Range: Set startingPoint = Cells(2, 7)
Dim resultColumn As Range: Set resultColumn = Range("H1")
For row = 1 To 4
resultColumn.Offset(row, 0).Value = 7 - startingPoint(row, 2).End(xlToLeft).column
Next row
End Sub