我得到了一些代码,是一个不再有空的人做的。假设您有一个包含五列的表。前四列被一个运行良好的查询填充,然后是完成第五列的这段代码。当我运行它时,当它运行到第五行及以下时,它会得到"Subscript out out of range (Error 9)“。1、2、3和4工作正常。任何帮助都是最好的!错误突出显示在第一个"for“上的行上。
Function HorasSemana() As Double
Dim sumaHoras As Double
Dim lRow As Integer
Dim semanas(1 To 4) As Integer
lRow = DatosOmnia.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lRow
semanas(i - 1) = WorksheetFunction.WeekNum(DatosOmnia.Cells(i, "C"), vbMonday)
'MsgBox WorksheetFunction.WeekNum(DatosOmnia.Cells(i, "C"), vbMonday)
Next i
'lRow toma el valor con respecto a la hoja "Horas Semanales"
lRow = Worksheets("Horas Semanales").Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To sizeOf(semanas) '(UBound(semanas, 1) - LBound(semanas, 1) + 1)
sumaHoras = 0
For j = 2 To lRow
If WorksheetFunction.WeekNum(Worksheets("Horas Semanales").Cells(j, "B"), vbMonday) = semanas(i) Then
sumaHoras = sumaHoras + Worksheets("Horas Semanales").Cells(j, "C").Value
DatosOmnia.Cells(i + 1, "F") = sumaHoras
End If
Next j
Next i
HorasSemana = sumaHoras
End Function
https://stackoverflow.com/questions/56570621
复制相似问题