|    | 
     ▼たろう さん: 
 
こんにちは 
 
回答そのものは、よろずやさんから出ています。 
 
ちょっと気になった点。 
対象のシートが、仮にブックを開いたときにアクティブだった場合、 
この時点ではシートのActivateイベントが発生しません。 
(というか、発生しているけど、VBAのチョンボでイベントルーティンに飛ばない?) 
 
ですので、ブックを開いた時点で、アクティブシートが対象のものであれば【強制的に】 
MoveAfterReturnDirectionを設定してやる必要があります。これはシートモジュールではなく 
ThisWorkbookモジュールで対応しますので、他のコードも同じ場所に記述してみました。 
 
【ThisWorkbookモジュール】 
 
Option Explicit 
 
Dim svMAR As Boolean 
Dim svMARD As Long 
Const mySheet As String = "Sheet1" '<== 対象シート 
 
 
Private Sub Workbook_Open() 
 svMAR = Application.MoveAfterReturn 
 svMARD = Application.MoveAfterReturnDirection 
 If ActiveSheet.Name = mySheet Then Call SetMAR 
End Sub 
 
Private Sub Workbook_SheetActivate(ByVal Sh As Object) 
 If Sh.Name = mySheet Then Call SetMAR 
End Sub 
 
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) 
 ResetMAR 
End Sub 
 
Private Sub Workbook_BeforeClose(Cancel As Boolean) 
 ResetMAR 
End Sub 
 
Private Sub SetMAR() 
 Application.MoveAfterReturn = True 
 Application.MoveAfterReturnDirection = xlToRight 
End Sub 
 
Private Sub ResetMAR() 
 Application.MoveAfterReturn = svMAR 
 Application.MoveAfterReturnDirection = svMARD 
End Sub 
 
 | 
     
    
   |