我的工作表中有 VBA 代码,它是工作表更改事件:
Private Sub Worksheet_Change
在此工作表上,我有带有数据验证的下拉菜单。所以我可以选择一个下拉菜单并选择“水果”。做出选择后,工作表更改事件会记录我当前所在的行,并利用该信息执行其他操作。
但是,如果我输入“Fruit”并按 Enter 键,则光标/选择器会向下移动一行,并且工作表更改事件现在会定位到错误的行。
有没有解决的办法?我可以让它检测工作表更改事件是通过单击还是按 Enter 键完成的吗?
或者有没有办法阻止某人只输入任何内容并强制他们点击?
或者有比 ActiveCell.Row 更好用的东西吗?
使用时不需要依赖ActiveCellWorksheet_Change
。当事件被触发时,你还有参数Target
类型的Range
可用,这可以通过数据验证选择器或手动编辑单元格并按 Enter 键为您提供已更改的确切范围。
代码看起来像这样
Private Sub Worksheet_Change(ByVal Target As Range)
Debug.Print Target.Address
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)