| 
    
     |  | ▼中2のVBA通 さん: >ではかいせつです。
 >
 >Private Sub Worksheet_Change(ByVal Target As Range)
 >  Private            …ここの時だけにしてくれ!
 >  Sub              …コード書き始めるぞ!
 >  Worksheet_Change       …ワークシートに変化が起きたときに!
 >  (ByVal Target As Range)    …因数です。今は特に覚えなくてよし!
 >つまり、ワークシートに変化が起きたときのみの処理でござる!ということです
 >
 >Dim obj As Object
 >  Dim              …変数だ
 >  obj              …変数の名前
 >  As              …型は
 >  Object            …オブジェクト
 >つまり、オブジェクトを扱う変数つかわせろ!と言う意味
 >変数というのは ズバリ
 >    値を入れておくもの
 >    どんな値でもOKョ
 >って考えてください。この場合はオブジェクト型なので、
 >セルとかシートとかいろいろな物体を指定できます。
 >
 >For Each obj In Range("A1:E5")
 >
 >  For Each           …ある範囲で繰り返せ
 >  obj              …変数の名前
 >  in              …場所は
 >  Range("A1:E5")        …セルのA1からE5
 >つまりA1からE5の中で繰り返せ!ってこと
 >  For Each とオブジェクト専用のくり返し処理です
 >  objと言う変数に、Range("A1")をいれて、処理をしていきNext obj
 >  で戻ってobjにRange("A2")をいれて処理をしていき、また戻って……
 >  ……と進んでいき、Range("E5")をいれて処理をしたら終わるよ!
 >  ということ。わかりにくいと思うので、 Excel全開VBA
 >  と言うサイトがあるから、その人のぺーじをみるといいと思います。
 >  僕はそこで学びました。
 >
 >If obj.Value <> "" Then
 >
 >  if            …もし
 >  obj.Value <> ""     …For Eachで指定したセルの値(Value)が
 >                 何も書いてない
 >  then           …その時
 >つまり、そのセルの値がなかったときの処理をする!ということです。
 >
 >すみません、文章討ちながら睡魔と戦っているので文章が乱れているかもしれません。
 >ただいま、9:50。部活があると大変だよ…(んな事ドーでもええわい
 >
 >If then Else 条件分岐の基本です。
 >構文は、
 >IF 条件式 Then
 >   条件式と一致したときの処理
 >Else
 >   条件と一致しなかったときの処理
 >End If
 >条件式というのは 真ん中に比較演算子がある等式のことです。下は一覧です。
 >    =  右辺が左辺  と一致する
 >    <> 右辺が左辺  と一致しない
 >    <= 右辺が左辺  以上
 >    >= 右辺が左辺  以下
 >    <  右辺が左辺  より大きい
 >    >  右辺が左辺  より小さい
 ><例>  A1の値が3よりおおきい
 >     Range("A").Value > 3
 >
 >obj.Interior.ColorIndex = 3
 >
 >    これはそのセルの色を指定します。
 >    3 の部分を変えると、色がいろいろ変わります。
 >    私は全部知ってますが、楽しみが消えると思うので
 >    ご自分で研究すると良いと思います(最大値: 56)
 >
 >Else
 >  上記参照(睡魔がヤバイので)
 >obj.Interior.ColorIndex = xlColorIndexNone
 >  上記のよう、色を変えます。
 >  xlColorIndexNone とは色をなくすという意味です
 >
 >End If
 >  If文終わり!
 >Next obj
 >  指定回数だけFor Eachにもどる
 >
 >End Sub
 >  以上終わり!
 >
 >
 >睡魔のおかげで、最後が適当になりました。 すまん!
 >分かんなかったら Excel全開VBA のサイトへ
 
 
 詳しい解説ありがとうございました!
 
 |  |