【发布时间】:2019-06-14 15:25:42
【问题描述】:
我正在尝试检查数组中的先前值以查看它是否重复,如果是,则结束函数并继续下一个非重复值。 说你有
lRow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
ReDim weeks(1 To lRow - 1)
For i = 2 To lRow
weeks(i - 1) = WorksheetFunction.WeekNum(Sheet1.Cells(i, "C"), vbMonday)
'MsgBox lRow
Next i
所以向量“周”有 (15,4,8,15,15,4,16)
lRow = Worksheets("Sheet2").Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To sizeOf(weeks)
addHours= 0
For j = 2 To lRow
If WorksheetFunction.WeekNum(Worksheets("Sheet2").Cells(j, "B"), vbMonday) = weeks(i) Then
addHours= addHours+ Worksheets("Sheet2").Cells(j, "C").Value
Sheet1.Cells(i + 1, "F") = addHours
End If
Next j
addHours= 0
Next i
WeekHours = addHours
当上面的代码点击“weeks(3)”时,它应该跳过它并检查下一个是否重复并继续跳过,如果没有,则进行添加。
任何帮助都会很棒
【问题讨论】:
-
使用字典(您需要添加脚本参考库)。检查数组的每个元素(dictionary.exists(element))。如果没有,请添加它 (dictionary.add(element))。如果是,则为重复值。