| 
    
     |  | D7セルに1を入力した時、次のセルE7に1を入れたい時のマクロです。 D7セルに2や3を入れると同様E7もそれぞれ2や3になります。
 下記は正常動作しています。
 ----------------------------------------------------------------------
 Private Sub Worksheet_Change(ByVal Target As Range)
 
 Dim hen As integer
 
 hen = 7
 Select Case ActiveSheet.Cells(hen, 4).Value
 Case 1
 ActiveSheet.Cells(hen, 5).Value = 1
 
 Case 2
 ActiveSheet.Cells(hen, 5).Value = 2
 
 Case 3
 ActiveSheet.Cells(hen, 5).Value = 3
 
 Case Else
 ActiveSheet.Cells(hen, 5).Value = 0
 
 End Select
 
 End Sub
 ----------------------------------------------------------------------
 
 ところが、D7に1を入れた時、E7に1,F7を10にしたいようにマクロを修正しましたが、
 暴走してしまいます。
 
 ----------------------------------------------------------------------
 
 Private Sub Worksheet_Change(ByVal Target As Range)
 
 Dim hen As integer
 
 hen = 7
 Select Case ActiveSheet.Cells(hen, 4).Value
 Case 1
 ActiveSheet.Cells(hen, 5).Value = 1
 ActiveSheet.Cells(hen, 6).Value = 10
 
 Case 2
 ActiveSheet.Cells(hen, 5).Value = 2
 ActiveSheet.Cells(hen, 6).Value = 20
 
 Case 3
 ActiveSheet.Cells(hen, 5).Value = 3
 ActiveSheet.Cells(hen, 6).Value = 30
 
 Case Else
 ActiveSheet.Cells(hen, 5).Value = 0
 ActiveSheet.Cells(hen, 6).Value = 0
 
 End Select
 
 End Sub
 ----------------------------------------------------------------------
 また、目的は、D列全てにこのような動作をさせるために、for文を使用
 しましたが、これまたもちろん暴走します(というか、前の状態の
 暴走がそのまま暴走している感じなのでしょう、きっと)
 
 ----------------------------------------------------------------------
 
 
 Private Sub Worksheet_Change(ByVal Target As Range)
 
 Dim hen As integer
 
 For hen = 7 to 100
 Select Case ActiveSheet.Cells(hen, 4).Value
 Case 1
 ActiveSheet.Cells(hen, 5).Value = 1
 ActiveSheet.Cells(hen, 6).Value = 10
 
 Case 2
 ActiveSheet.Cells(hen, 5).Value = 2
 ActiveSheet.Cells(hen, 6).Value = 20
 
 Case 3
 ActiveSheet.Cells(hen, 5).Value = 3
 ActiveSheet.Cells(hen, 6).Value = 30
 
 Case Else
 ActiveSheet.Cells(hen, 5).Value = 0
 ActiveSheet.Cells(hen, 6).Value = 0
 
 End Select
 
 Next
 
 End Sub
 
 ----------------------------------------------------------------------
 if文で試してもやはり2番目の状態で暴走しています。何か良い知恵が
 ございましたら、お貸しください。
 
 ----------------------------------------------------------------------
 
 |  |