>>64
おかしい部分が2個所ある

1つ目、GetAsyncKeyStateの戻り値はintだから
Declare PtrSafe Function GetAsyncKeyState Lib "User32.dll" (ByVal vKey As Long) As Integer
としないといけない

2つ目、GetAsyncKeyStateで単純に押されたかどうかだけを調べたい時はMSBだけをチェックする
If GetAsyncKeyState(37) And &h8000 <> 0 Then

ネットを見ると、同じように間違ってるサンプルがいくつもあるから注意すべし
とこにWin32APIを使う時は、まずはMSDNを当たること
https://msdn.microsoft.com/ja-jp/library/cc364583.aspx