Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


67927 / 76734 ←次へ | 前へ→

【13354】セルに色をつける
回答  中2のVBA通  - 04/5/2(日) 22:10 -

引用なし
パスワード
   ではかいせつです。

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 のサイトへ

0 hits

【13335】セルが変更されたらそのセルに色をつける おお 04/5/2(日) 2:55 質問
【13339】Re:セルが変更されたらそのセルに色をつける Asaki 04/5/2(日) 16:12 回答
【13384】Re:セルが変更されたらそのセルに色をつける Asaki 04/5/3(月) 22:49 回答
【13513】Re:セルが変更されたらそのセルに色をつける おお 04/5/7(金) 0:48 質問
【13518】Re:セルが変更されたらそのセルに色をつける Asaki 04/5/7(金) 9:09 回答
【13348】セルに色をつけるその1 中2のVBA通 04/5/2(日) 21:06 回答
【13354】セルに色をつける 中2のVBA通 04/5/2(日) 22:10 回答
【13456】Re:セルに色をつける おお 04/5/5(水) 23:38 お礼

67927 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free