本帖最后由 小老舅 于 2017-4-5 17:13 编辑
使用环境:win7或win10+EXCEL2007
问题描述:表格用于公司日常工作的录入,在使用过程中对于部分列采用了数据有效性,并使用VBA自动展开下拉列表,可是每次当录入到含有数据有效性的列时小键盘的灯就会改变状态(当前亮就会变灭,当前灭就会亮),给后面录入数据带来麻烦,求大神搭救,谢谢
解决问题的思路(一个建议,不知道是不是正确):在VBA中当执行到自动展开下拉列表后,紧跟着判断小键盘的灯状态,若是关闭,在自动打开。
代码如下:(第一次发帖,不知道代码这样发对不对)
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row > 2 Then
Select Case Target.Column
Case 6, 7, 18, 20, 28
Application.SendKeys "%{down}"
End Select
Application.OnKey "{Enter}"
Application.OnKey "~"
If Target.Count = 1 And Target.Column = 13 Then
Application.OnKey "{Enter}", "Sheet1.test1"
Application.OnKey "~", "Sheet1.test1"
Else
If Target.Count = 1 And Target.Column = 28 Then
Application.OnKey "{Enter}", "Sheet1.test2"
Application.OnKey "~", "Sheet1.test2"
End If
End If
End If
End Sub
便于阐述问题,以下省略
Sub test1()
SUB TEST2()
|