我从epos系统获得了一个报告,该报告在A列中给了我一段时间用于产品销售,其条形码将出现在相应的B列中。相同的条形码将在B列中第二次出现,因此时间在列表下方的A列中。
我试图弄清楚如何计算B列中该产品条形码的第一个条目和第二个条目之间的A列中的值之间的时间差。我知道如何根据条件对A列中的值求和在B列中使用IF函数,但无法计算出减法。
有人建议吗?
答案 0 :(得分:0)
我相信以下内容将为您指明正确的方向,如果它没有达到您的期望,则代码将遍历B列以查找匹配的代码,并且如果这样做,它将减去时间值并输入C列之间的差异(以小时格式):
Sub foo()
Dim ws As Worksheet: Set ws = Sheets("Sheet1")
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
For i = 1 To LastRow
valu = ws.Cells(i, 1).Value
code = ws.Cells(i, 2).Value
For x = i + 1 To LastRow
If ws.Cells(x, 2).Value = code Then
s.Cells(i, 3).NumberFormat = "hh:mm"
ws.Cells(i, 3).Value = (ws.Cells(x, 1).Value - valu)
End If
Next x
Next i
End Sub