ワークブックベースで入力した後の方向の選択(Microsoft Excel)
セルに情報を入力した後にEnterキーを押すと、Excelは通常、情報を保存してから、Enterキーを押したセルの下の次のセルに移動します。ただし、この動作は変更できます:
。 [ツール]メニューから[オプション]を選択します。 Excelに[オプション]ダイアログボックスが表示されます。
。 [編集]タブをクリックします。 (図1を参照)
。 Enter設定後の移動カーソルを調整します。方向を変更すると、すべてのブックでのExcelの動作に影響します。
ブックごとにEnterキーの動作を変更する必要がある場合は、運が悪いと思うかもしれません。ただし、小さなクリエイティブなマクロコードを使用して、Enterの後に進む方向を指定し、ブックがアクティブ化されるたびにそのコードを実行することができます。
たとえば、特定のワークブックがあり、Enterキーを押した後は常に選択範囲を上に移動したいとします。この特定のワークブックでは、VBAエディターのthisWorkbookオブジェクトに次のコードを追加できます。
Private Sub Workbook_WindowActivate(ByVal Wn As Excel.Window) bMove = Application.MoveAfterReturn lMoveDirection = Application.MoveAfterReturnDirection Application.MoveAfterReturn = True Application.MoveAfterReturnDirection = xlUp End Sub Private Sub Workbook_WindowDeactivate(ByVal Wn As Excel.Window) Application.MoveAfterReturn = bMove Application.MoveAfterReturnDirection = lMoveDirection End Sub
ここには2つの別個のサブルーチンがあります。最初のものは、ブックのウィンドウがアクティブ化されるたびに実行されます。この場合、MoveAfterReturnプロパティとMoveAfterReturnDirectionプロパティに関連付けられた設定を変数に格納します。 (これらの変数についてはすぐに学習します。)次に、マクロはMoveAfterReturnプロパティをTrueに設定し、方向をxlUpに設定します。この特定のブックでデフォルトで別の方向に進みたい場合は、xlDown、xlToLeft、xlToRightなどの別のExcel定数を使用するだけです。
2番目のサブルーチンは、ブックウィンドウが非アクティブ化されるたびに実行されます。
この場合、MoveAfterReturnプロパティとMoveAfterReturnDirectionプロパティの値は、ブックが最初にアクティブ化される前の値にリセットされます。
これらのルーチンで使用される2つの変数、lMoveDirectionとbMoveは、モジュールの宣言部分で定義する必要があります。これにより、上記の両方のルーチンから変数にアクセスできます。
Public lMoveDirection As Long Public bMove As Boolean
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(2073)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。