【发布时间】:2021-05-14 12:11:55
【问题描述】:
我不是 VBA 方面的专家,我的所有代码都是在互联网上“找到”、修改并用于我的目的,所以这就是我在这里苦苦挣扎的原因。
我有一个非常具体(但简单)的工具,当扫描不正确的条形码时(B 列),我需要记录实际时间(在 V 列中)。
此工具将扫描的条形码与预期数据进行比较 - 发生错误时, 它说明了什么样的错误 - 这是通过查询(加载预期数据)和公式(比较扫描与预期)完成的。
重点:
在名为“扫描”的工作表中,用户正在扫描 B 列中的条形码。 C 列给出“OK”或错误信息。 如果 B 单元格为空,则 U 列保持为空,“OK”时为 0,错误时为 1。
我的目标:
当 U 列中的数字 1 出现时 - 我需要将发生的实际时间写入同一行的 V 列。
我尝试了很多代码都没有运气。 我的最后一个(非工作)是:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, ThisWorkbook.Worksheet("Scan").Range("U3:U1050")) Is Nothing Then
Target.Range(.Row, 22) = Now()
End If
End Sub
【问题讨论】:
-
Range(Target.Row, 22) = Now(). -
那应该是
Cells,而不是Range。 -
是的,细胞工作,但仍然没有给我日期或现在()。
标签: excel vba record intersect