本ページは公開が終了した情報の複製であり、掲載時点での情報です。本ページに記載されている内容について各所に問い合わせることはご遠慮下さい。
サポート技術情報

[XL] [Enter]キーを押したらアクティブ セルを右に移動する方法

文書番号: 402275

最終更新日: 1997/10/20


この資料は以下の製品について記述したものです。


この記事は、以前は次の ID で公開されていました: JP402275

概要

Excel 5.0 では、データを入力後に [Enter] キーを押すとアクティブ セルがひとつ下 のセルへ移動します (移動しない場合は [ツール] - [オプション] コマンド [全般] パネルの [入力後セル移動] チェック ボックスがオフ (×の付いていない状態) に
なっています)。[Enter] キーが押されたときに、アクティブ セルをひとつ右へ
移動するにはマクロを作成します。
本文書は、Microsoft(R) Visual Basic(R) Programming System Applications Edition (以下 VBA) を使って、[Enter] キーが押されたらアクティブ セルをひとつ右に移動 する方法を、サンプル モジュールと共に解説しています。

詳細

指定したキーが押されたときにマクロを実行させるには、 Application オブジェクト の OnKey メソッドを使用します。

サンプル

次のサンプル モジュールでは、マクロ "EnterKeyAssignSample" にて [Enter] キー が押されたらマクロ "RightMove" を実行するように設定しています。
マクロ "RightMove" では現在選択されているオブジェクトが「セル範囲」であるか、 アクティブ シートが「ワークシート」であるかの確認を行い、「ワークシートのセル 範囲」が選択されている状態であれば、セルを一つ右のセルへ移動しています。
また、[Enter] キーが押されたときに、アクティブ セルをひとつ下へ移動する
「 Excel 5.0 本来の動作」に戻したい場合は、マクロ "EnterKeyReAssignSample" を実行します。
  '[Enter] が押されたら実行するマクロを設定するマクロ
  Sub EnterKeyAssignSample()
      Application.OnKey "ENTER", "RightMove"
      Application.OnKey "~", "RightMove"
  End Sub
  'ワークシートのセルが選択されていたら右へ移動するマクロ
  Sub RightMove()
      If TypeName(Selection) = "Range" And _
         TypeName(ActiveSheet) = "Worksheet" Then
            If ActiveCell.Column <> 256 Then
            ActiveCell.Offset(0, 1).Select
          End If
      End If
  End Sub
  '[Enter] キーの設定を既定に戻すマクロ
  Sub EnterKeyReAssignSample()
      Application.OnKey "ENTER"
      Application.OnKey "~"
  End Sub

注意

「サンプル」のマクロ "EnterKeyAssignSample" を実行すると、ワークシート以外で のシート上で [Enter] キーを使用する操作はすべて動作しなくなります (モジュー
ル シート上で改行が行えない、など)。データの入力が終了した時点で、マクロ
"EnterKeyReAssignSample" を実行して Excel 5.0 本来のキー設定に復帰するよう にしてください。

Keywords: KBHOWTO KB402275
Technology: kbExcel500 kbExcelSearch kbExcelWinSearch

inserted by FC2 system