excel - 第二次更改(ByVal 目标作为范围)不起作用
问题描述
我有一个小谜题。我使用单元格“K6”和“L6”作为输入(用于扫描条形码)。当我选择单元格“K6”并扫描条形码时,单元格“O6”正在从值“0”变为值“1”(通过公式“=IF(K6>0,1,0)”)。
我使用单元格“O6”(何时是“0”)作为“Sub(ByVal 目标作为范围)”的触发器,这个 Sub 调用 marco“Nasklad”,它将“K6”值复制并粘贴到 sheet2(IN_OUT)列“ A" 第一个空白。在它调用宏“Clear”之后选择sheet1(Sklad)并清除单元格“K6”。
整个过程工作正常,我扫描条形码,代码被复制到另一张纸上,我可以扫描另一个代码等等。
Sub worksheet_change(ByVal target As Range)
Set target = Range("O6")
If target.Value > 0 Then
Call Nasklad
End If
End Sub
Sub Nasklad()
Sheets("Sklad").Select
Range("K6").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("IN_OUT").Select
ActiveSheet.Range("A1").End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Call clear
End Sub
Sub clear()
Sheets("Sklad").Select
Range("K6").Select
Selection.ClearContents
End Sub
现在要注意了,当我尝试将单元格“K6”的重复系列命令与单元格“L6”一起使用时,什么也没发生。
看起来“Sub worksheet_change2(ByVal target As Range)”不起作用。当我将“P6”中的“L6”值输入为“1”时(通过公式“=IF(L6>0,1,0)”,这次触发器不运行 Sub,我不知道为什么。
Sub worksheet_change2(ByVal target As Range)
Set target = Range("P6")
If target.Value = 0 Then
Call Vysklad
End If
End Sub
Sub Vysklad()
Sheets("Sklad").Select
Range("L6").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("IN_OUT").Select
ActiveSheet.Range("B1").End(xlDown).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Call clear2
End Sub
Sub clear2()
Sheets("Sklad").Select
Range("L6").Select
Selection.ClearContents
End Sub
我错过了什么?
感谢您的帮助
解决方案
谢谢@BigBen 和@urdearboy,这对我有帮助,我已将 Sub worksheet_change(ByVal target As Range) 更改为
Sub worksheet_change(ByVal target As Range)
Set target = Range("O6")
Set target2 = Range("P6")
If target.Value > 0 Then
Call Nasklad
End If
If target2.Value > 0 Then
Call Vysklad
End If
End Sub
推荐阅读
- node.js - 带有ipc的Windows上的节点child_process.spawn错误文件描述符
- qt - 何时调用异步 QMenu::popup() 与同步 QMenu::exec()?
- python-3.x - tkinter 在绑定到 double_click 事件时出现意外行为 - 什么是双击?
- tensorflow - 卷积层过滤器在 Keras 中显示
- amazon-web-services - 使用 Hadoop s3a 从 spark 作业写入 s3 时,指定的加密方法不受支持错误
- c# - 更改 FolderBrowserDialog 的设计
- firebase - Firebase httpsCallable 与“允许未经身份验证”的云功能
- mysql - 当另一列类似于输入时,SQL 查询获取 country_name 和出现次数
- android - 底部工作表行为窥视高度还包括带有缺口的手机底部导航视图的高度
- node.js - 节点 js 中的最大行数:child-process.exec