◎APIの使い方例として、矢印キーの↑↓を使って行選択をしてみます!!
{Enter}キーで行を指定して、フォームを使って、このデータ行の値を訂正する例です。
ソースコード |
Sub APIで行指定()
'ここに変数宣言を記載が必要(割愛)
行 = ActiveCell.Row
Worksheets("会員台帳").Range("A500").End(xlUp).Select
行終 = Selection.Row
行初 = 5
Speed = 0.06
Select Case 行
Case Is > 行終
行 = 行終
Rows(行).Select
Case Is < 行初
行 = 行初
Rows(行).Select
End Select
'API使用例 {↓}{↑}{Enter}{Tab}キーが押されたか判断
Do
Rows(行).Select
If (GetAsyncKeyState(vbKeyDown) And 行 < 行終) Then
行 = 行 + 1
Call タイマー
Rows(行).Select
End If
If (GetAsyncKeyState(vbKeyUp) And 行 > 行初) Then
行 = 行 - 1
Call タイマー
Rows(行).Select
End If
If GetAsyncKeyState(vbKeyReturn) Then
Range("D4").Value = ""
Exit Do
End If
If GetAsyncKeyState(vbKeyTab) Then
Range("D4").Value = ""
DoEvents
Cells(行, 1).Select
Exit Sub
End If
Call タイマー
Loop
Flag = True
Do While Flag = True
UserForm1.Show
Loop
End Sub
'タイマーサブルーチン例
Private Sub タイマー()
DoEvents
Do While Timer - Stime < Speed: Loop
Stime = Timer
End Sub
|
下図は、実行例です。
↑頁トップへ