Sub LsTabCtrl(KeyCode As Integer, Shift As Integer) '表形式のフォームで↓↑キーを使ってレコード間を移動します。 '使用方法 '1)Formの "KeyPreview/キーボードイベント取得" プロパティ を Yes(はい)にします。 '2)Formの KeyDown/キークリック時 イベントに [イベント プロシージャ]を追加し次のコードを貼り付けます。 ' LsTabCtrl KeyCode, Shift Dim CmbFlg As Integer On Error GoTo Err_CsrCtrl 'ComboBoxの場合 CmbFlg = True 'ComboBoxで Altキーを押しながら↓を押すとDropdownします。 'Dropdown状態で Shiftキーを押しながら↓↑を押すとリスト内を移動できます。 If Screen.ActiveControl.ControlType = acComboBox Then CmbFlg = True Select Case KeyCode Case vbKeyDown '↓ If CmbFlg Then 'ComboBoxの場合 ShiftまたはAltキーが押されたら何もしない If ((Shift And acShiftMask) > 0 Or (Shift And acAltMask) > 0) Then Exit Sub End If DoCmd.GoToRecord , , acNext Case vbKeyUp '↑ If CmbFlg Then 'ComboBoxの場合 ShiftまたはAltキーが押されたら何もしない If ((Shift And acShiftMask) > 0 Or (Shift And acAltMask) > 0) Then Exit Sub End If DoCmd.GoToRecord , , acPrevious End Select Exit_CsrCtrl: Exit Sub Err_CsrCtrl: Resume Exit_CsrCtrl End Sub