我对宏很新,所以这可能是一个愚蠢的问题。我搜索并搜索过,还没有找到答案,所以我希望这里的专家能帮到我:)
在我的代码中,我有一个很大的范围,我搜索某个特征(所有单元格都有值“完成”,“正在进行”或“等待”)。当我找到值“正在进行”时,我想使用该单元格创建一个较小的范围,我将使用计数器。但是,我可以不使子范围工作:(
Dim range1 As Range
For Each cell In Sheet2.Range("A5:Y5")
If cell.Value = "Ongoing" Then Set range1 = Cells(cell.Row, cell.Column)
Next cell
i = 0
For Each cell In Sheet2.Range("A5:range1")
If cell.Value = "Done" Then
i = i + 1
End If
Next cell
答案 0 :(得分:1)
这里有一个简单的代码,可以执行您想要的一些操作:
Dim rangeToSearch As Range
Dim doneCount As Integer, onGoingCount As Integer, onGoingDones(50) As Integer
Set rangeToSearch = Sheet2.Range("A5:Y5")
doneCount = 0
onGoingCount = 0
For Each cell In rangeToSearch
If (Not IsEmpty(cell)) Then
If LCase(cell.Value) = "done" Then
doneCount = doneCount + 1
ElseIf LCase(cell.Value) = "ongoing" Then
onGoingCount = onGoingCount + 1
onGoingDones(onGoingCount) = doneCount
doneCount = 0
End If
End If
Next cell
它计算“正在进行的”单元格之间的“完成”数量(上限无关紧要)并将它们存储在一个数组中onGoingDones
;它可以处理多达50个元素,但我想这更多比够了。