vba - 当相同的对应值出现在 B 列中时,计算 A 列中值的时间差
问题描述
我从我的 epos 系统收到一份报告,该报告在 A 列中给出了产品销售的时间,其条形码将出现在相应的 B 列中。相同的条形码将在 B 列中再次出现,在列中给出稍后的时间再往下看。
我试图弄清楚如何计算 B 列中该产品条形码的第一个和第二个条目之间的 A 列值之间的时间差。我知道如何根据 B 列中的条件对 A 列中的值求和使用 IF 函数但不知道如何减去。
有人有什么建议吗?
解决方案
我相信以下内容会为您指明正确的方向,如果它没有按照您的预期执行,代码将遍历 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
推荐阅读
- php - SQL操作VS wp_update_term_count_now()相关问题
- javascript - Auto Scramble Chrome Cube 实验室?
- laravel - 如何让 LaraDock 使用 yum 而不是 apt-get?
- android - 在装有 Android 8.0 的三星设备上在 RTL 中格式化“%d - %d”时出现错误
- python - Python virtualenv 需要和它所属的项目在同一个地方创建?
- python - 防止 FileExistsError 的功能
- c++ - 为什么这段代码只识别文本文件中的第一行?输入任何大于 1 的数字都会返回“未找到原子序数”
- eclipse - Spring Tool Suite:@Configuration 类可能不是最终的。删除 final 修饰符以继续
- python - 圆球弹跳的角度反射
- javascript - undefined 不是对象(评估 '_this3.props.navigation.navigate')