| 
    
     |  | ▼翔子 さん: 
 
 >E3に値が入っています。
 >1 D6に値が入ったら、C6にE3の値が入るように。
 >2 D7に値が入ったら、C7にE3の値が入るように。
 >3 D8に値が入ったら、C8にE3の値が入るように。
 >4 D9に値が入ったら、C9にE3の値が入るように。
 >5 D10に値が入ったら、C10にE3の値が入るように。
 >したいのですが、
 
 シートのモジュール(マクロを書くところ)に
 以下のコードを記述します。
 
 Private Sub Worksheet_Change(ByVal Target As Range)
 Dim r As Range
 Dim c As Range
 Set r = Intersect(Target, Range("D6:D10"))
 If r Is Nothing Then Exit Sub
 
 For Each c In r
 If Not IsEmpty(c.Value) Then
 c.Offset(, -1).Value = Range("E3").Value
 End If
 Next
 End Sub
 
 このコードは そのワークシートのセルに変化があったときに 動きます。
 
 >  Set r = Intersect(Target, Range("D6:D10"))
 
 このコードは 変化のあったセル Target(複数セルのばあいも考慮) と
 [D6:D10] と比べ、変化のあったセルTarget が [D6:D10]のなかに入っているとき
 のみ、それ以降の処理を実行します。
 
 >    If Not IsEmpty(c.Value) Then
 >      c.Offset(, -1).Value = Range("E3").Value
 >    End If
 
 ここは 変化のあったD列のセルの値が 空 でないときには [E3]セルの値を
 そのセルの比ダル隣りのC列セルに 値コピー しています。
 
 (Deleteキーがおされて セルの値がクリアされた時も このマクロは走ります。
 そのばあいは どうしたらいいのかな? 今は、何も書いていません)
 
 
 |  |