Option Explicit
#If VBA7 Then
Private Declare PtrSafe Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As LongPtr)
#Else
Private Declare Sub keybd_event Lib "user32" Alias "keybd_event" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
#End If
' Actvate list of ActiveX ComboBox control embedded into Sheet1
Sub Test()
With Sheet1.ComboBox1 ' or With ActiveSheet.ComboBox1
.Enabled = True
.Visible = True
.Activate
End With
PressAltDown
End Sub
Private Sub PressAltDown()
Const KEYEVENTF_KEYUP = &H2
Const VK_MENU = &H12
Const VK_DOWN = &H28
DoEvents
DoEvents
keybd_event VK_MENU, 0, 0, 0
keybd_event VK_DOWN, 0, 0, 0
keybd_event VK_DOWN, 0, KEYEVENTF_KEYUP, 0
keybd_event VK_MENU, 0, KEYEVENTF_KEYUP, 0
End Sub