I don't know how to define a union in VB. You may try to seperate them in three VB struct, as below.
Private Type INPUT_MOUSE_DATA
type As Long
mi As MOUSEINPUT
End Type
Private Type INPUT_KEYBD_DATA
type As Long
ki As KEYBDINPUT
End Type
Private Type INPUT_HW_DATA
type As Long
hi As HARDWAREINPUT
End Type