【发布时间】:2017-10-06 02:18:38
【问题描述】:
我已经为此奋斗了好几天,显然我错过了一些东西。自从我上次使用 VBA 以来已经有一段时间了,我很难记住。
希望在一行中找到 1 的“游览”或不间断的“字符串”的数量。
我正在寻找的数据和答案是这样的(每个数字都在自己的列中):
0 0 1 1 1 0 1 0 1 = 3
1 0 0 0 0 0 0 0 0 = 1
0 0 0 0 1 1 1 1 1 = 1
试过以下功能:
Function TOURCOUNT(TourList As Range)
Dim var As Variant
var = TourList.Value
For Each var In TourList
If var = 1 And var + 1 = 1 Then
TOURCOUNT = TOURCOUNT
ElseIf var = 1 Then
TOURCOUNT = TOURCOUNT + 1
End If
Next
End Function
而且只是穿过细胞:
Function NTOURS(TList As Range)
Dim var As Variant
For Each Cell In TList
If Cell.Offset(0, 1).Value = 1 And Cell.Value = 1 Then
NTOURS = NTOURS + 1
End If
Next
End Function
还有其他一些小的变化。显然我没有正确理解某些事情。当我不小心偏移行而不是列时,'And' 评估 Offset if 语句返回了错误的数字。但是当我纠正它时它只返回 0。
任何帮助将不胜感激!
谢谢!
【问题讨论】: