По выбору определенного имени в списке открывается окно для ввода данных но список при этом остается открытым. Только когда ткнешь мышкой в открывшееся окно тогда закрывается список. ComboBox встроен на лист а на форму. Как закрыть список до открытия окна?
Код
Private Sub ComboBox1_Change() If ComboBox1.Text = Worksheets(2).Range("ADM") Then FormPas.Show
End Sub
По выбору определенного имени в списке открывается окно для ввода данных но список при этом остается открытым. Только когда ткнешь мышкой в открывшееся окно тогда закрывается список. ComboBox встроен на лист а на форму. Как закрыть список до открытия окна?
Код
Private Sub ComboBox1_Change() If ComboBox1.Text = Worksheets(2).Range("ADM") Then FormPas.Show
Спасибо! Все сработало. Только не могли бы вы объяснить эти две строчки что они делают. Если правильно понял первая строка эмитация нажатия кнопки ESC а вторая что занчит? И еще заметил что выключается кнопка "NUM LOCK" на цифровой клавиатуре. Можно это как то избежать?
Спасибо! Все сработало. Только не могли бы вы объяснить эти две строчки что они делают. Если правильно понял первая строка эмитация нажатия кнопки ESC а вторая что занчит? И еще заметил что выключается кнопка "NUM LOCK" на цифровой клавиатуре. Можно это как то избежать?Volhv
"NUM LOCK" на цифровой клавиатуре. Можно это как то избежать?
вопрос конечно не по теме, но так как это следствие то просто сперва гасим или зажигаем
[vba]
Код
Private Declare Sub keybd_event Lib "user32" ( _ ByVal bVk As Byte, _ ByVal bScan As Byte, _ ByVal dwFlags As Long, _ ByVal dwExtraInfo As Long) Private Const VK_NUMLOCK = &H90 Private Const KEYEVENTF_KEYUP = &H2 Declare Function GetKeyState Lib "user32.dll" ( _ ByVal nVirtKey As Long) As Integer
Sub NUM_TOGGLE() 'Toggle NUM-Lock key state keybd_event VK_NUMLOCK, 1, 0, 0 keybd_event VK_NUMLOCK, 1, KEYEVENTF_KEYUP, 0 End Sub
Sub NUM_On() 'Turn NUM-Lock on If Not (GetKeyState(vbKeyNumlock) = 1) Then keybd_event VK_NUMLOCK, 1, 0, 0 keybd_event VK_NUMLOCK, 1, KEYEVENTF_KEYUP, 0 End If End Sub
Sub NUM_Off() 'Turn NUM-Lock off If (GetKeyState(vbKeyNumlock) = 1) Then keybd_event VK_NUMLOCK, 1, 0, 0 keybd_event VK_NUMLOCK, 1, KEYEVENTF_KEYUP, 0 End If End Sub
"NUM LOCK" на цифровой клавиатуре. Можно это как то избежать?
вопрос конечно не по теме, но так как это следствие то просто сперва гасим или зажигаем
[vba]
Код
Private Declare Sub keybd_event Lib "user32" ( _ ByVal bVk As Byte, _ ByVal bScan As Byte, _ ByVal dwFlags As Long, _ ByVal dwExtraInfo As Long) Private Const VK_NUMLOCK = &H90 Private Const KEYEVENTF_KEYUP = &H2 Declare Function GetKeyState Lib "user32.dll" ( _ ByVal nVirtKey As Long) As Integer
Sub NUM_TOGGLE() 'Toggle NUM-Lock key state keybd_event VK_NUMLOCK, 1, 0, 0 keybd_event VK_NUMLOCK, 1, KEYEVENTF_KEYUP, 0 End Sub
Sub NUM_On() 'Turn NUM-Lock on If Not (GetKeyState(vbKeyNumlock) = 1) Then keybd_event VK_NUMLOCK, 1, 0, 0 keybd_event VK_NUMLOCK, 1, KEYEVENTF_KEYUP, 0 End If End Sub
Sub NUM_Off() 'Turn NUM-Lock off If (GetKeyState(vbKeyNumlock) = 1) Then keybd_event VK_NUMLOCK, 1, 0, 0 keybd_event VK_NUMLOCK, 1, KEYEVENTF_KEYUP, 0 End If End Sub