APIで行選択

  ◎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


 下図は、実行例です。

備忘録サイトの画面

↑頁トップへ