ひぃぃぃいいい!!!
背中がぞわぞわする
こっそり講座名変えてみました。
苦手な単語が2つも入ってます
インフラエンジニアがいまだにしっくりきません。
だって名刺に書いてあるもん!!
そういってるのは私じゃないのでいいとして。
教えるってのがすごく苦手です。
いつもは知見共有とか言い始めます。
がんばって慣れます。
おつかれさまです。なずなです。
本日はいつ書いたか忘れた講座のつづき。
こういうのは他の方が詳しくやってくれてるので
ぐぐってください
5.条件分岐
人はなぜプログラムを使うのか!
条件の判断を何回やっても間違えることがないから!!
というわけで条件の分岐方法です。
○○だったらXXXするというやつですね。
国語ないしは数学(論理?)が必要な分野でもあります。
なにはともあれ純粋な書き方から。
if 条件 then
end if
です。Select case 文は当面おぼえなくていいです(キッパリ
かつ、または、の演算子はAnd と or なのでVBAはわかりやすいです。
if 条件 and 条件2 then
elseif 条件3 then
else
end if
ざっくりとした書き方はこんな漢字。
数字の条件分岐
これまでの九九は使ってオッケーです。
シートに入力しておきましょう。
ちょー基本というやつです。九九の表で奇数だけ色を変える
処理を作ってみましょう。
書き方いろいろありますからね!
'
Sub OddNumInQuQu()
Dim r As Range
For Each r In Worksheets("Sheet1").Range("A1:I9")
If r.Value Mod 2 = 1 Then
r.Interior.Color = vbYellow
End If
Next
End Sub
ここでついでに覚えてください。
VBAで加えた変更はCtrl + Z で戻りません!!
変更する前にちゃんと保存しましょう。
さて、次です。
九九なので当然すべてが数字なんですが、
適当なマスに「ああ」でも「b」でも文字列いれて再度実行してください。
エラーがでて起こられます。
ローカルウィンドウとか見てください。
みたまんま、文字列は割った余りとか計算できないということです。
ここでは軽く覚えてください。
**想定した「データ形式」でないと正常に動かない場合がある。**
そういうときはどうするか。
今回は数字であればよいので数字かどうかを判定します。
ここからぐぐってオッケー。
判定用の関数があるのでそれを使います。
```VB
Sub OddNumInQuQu2()
Dim r As Range
For Each r In Worksheets("Sheet1").Range("A1:I9")
If IsNumeric(r.Value) = True Then
If r.Value Mod 2 = 1 Then
r.Interior.Color = vbYellow
End If
End If
Next
End Sub
```
ifが1個追加されました。
これを入れ子っていいます。
条件に一致したものがどんどん中に入っていくイメージです。
↑ココマデ
冒頭でも若干触れてますけど、なぜプログラムにするのか!!
書いたとおりの条件分岐は間違えないからです。
ここではまだ覚えなくていいです。
確認するデータの型が違う、そもそも条件間違ってるなど
プログラマ本人は間違えるってことだけ!