循环非空单元格,如果值非空,则执行函数

时间:2015-12-07 20:45:41

标签: excel vba excel-vba loops

我正在尝试处理一列数据,寻找非空单元格,并使用.offset函数执行非空值的等式,以引用范围(不同行和列)中的单元格在等式中使用。目标是在那里有一个非空单元格(表示一个班次的持续时间),以格式 - 11/12/2015 6:00:00创建开始时间和结束时间。我的代码目前设计用于为每个班次的开始提供输出,例如列中的值被读取3,12个班次的开始时间为3个小时的工作17/12/2015 18:00:00,结束时间班/开始下班时间(12小时)18/12/2015 6:00:00,轮班结束时间18/12/2015 18:00:00。棘手的部分是换班可能是3小时,然后工作在下一班开始前3小时开始,即18/12/2015凌晨3:00:00。

我当前的代码

Sub ServiceShiftstart()

Dim routineService As Range
Dim ServiceHourStart As Integer

Set routineService = Worksheets("XACT RE").Range("E312:E346")

For Each Cell In routineService

If Cell.Value > 0 Then

ActiveCell.Value = ServiceHourStart

ServiceHourStart = (Cell.Offset(-2, -1).Value) - ((0.5 / 12) * (Cell(0, 0).Value))

Cell.Offset(0, 2).Value = ServiceHourStart


End If

Next

End Sub

提前致谢!

0 个答案:

没有答案