第6講 If文(分岐)を理解しよう
第5話 合格・不合格判定プログラム
前話問題
1教科でも50未満なら、
解答例
Private Sub CommandButton1_Click()
Dim i As Byte, h As Byte
h = 1
For i = 0 To 4
Cells(6, 2 + i) = Int(100 * Rnd())
Next
For i = 0 To 4
If Cells(6, 2 + i) < 50 Then h = 0
Next
If h = 1 Then Cells(8, 2) = "合格" Else Cells(8, 2) = "不合格"
End Sub
Private Sub CommandButton2_Click()
Range("B6:F6,B8").Select
Selection.ClearContents
Range("A1").Select
End Sub
参考ファイル
解説
Dim i As Byte, h As Byte
h = 1
最初hには1が代入されていました。
For i = 0 To 4
If Cells(6, 2 + i) < 50 Then h = 0
Next
によって、1個でも50未満のセルがあると、
hは0に置き換わります。
すべて50以上ならhは1のままで書き換わることはありません。
ですから、
If h = 1 Then Cells(8, 2) = "合格" Else Cells(8, 2) = "不合格"
によって、
1教科でも50未満があれば不合格
すべて50以上なら合格とB8に表示されるわけです。
If Cells(6, 2 + i) < 50 Then h = 0
は
If h =1 then If Cells(6, 2 + i) < 50 Then h = 0
としても良いですね。
hが0になっているときは不合格確定ですから、
If Cells(6, 2 + i) < 50 Then h = 0の判定は不要ですから。
処理速度を上げる・・・
将来、数独自動生成ソフトを開発するときに絶対に必要な姿勢です。
では皆さん、今回の課題をヒントに第5講第11話のプログラム
Private Sub CommandButton1_Click()
Dim w As Byte, i As Byte
w = 0
For i = 0 To 5
w = w + Cells(7 + i, 1)
Next
Cells(13, 1) = w
w = 0
For i = 0 To 5
w = w + Cells(7 + i, 2)
Next
Cells(13, 2) = w
w = 0
For i = 0 To 5
w = w + Cells(7 + i, 3)
Next
Cells(13, 3) = w
w = 0
For i = 0 To 5
w = w + Cells(7 + i, 4)
Next
Cells(13, 4) = w
w = 0
For i = 0 To 5
w = w + Cells(7 + i, 5)
Next
Cells(13, 5) = w
w = 0
For i = 0 To 5
w = w + Cells(7 + i, 6)
Next
Cells(13, 6) = w
w = 0
For i = 0 To 5
w = w + Cells(7, 1 + i)
Next
Cells(7, 7) = w
w = 0
For i = 0 To 5
w = w + Cells(8, 1 + i)
Next
Cells(8, 7) = w
w = 0
For i = 0 To 5
w = w + Cells(9, 1 + i)
Next
Cells(9, 7) = w
w = 0
For i = 0 To 5
w = w + Cells(10, 1 + i)
Next
Cells(10, 7) = w
w = 0
For i = 0 To 5
w = w + Cells(11, 1 + i)
Next
Cells(11, 7) = w
w = 0
For i = 0 To 5
w = w + Cells(7 + i, 1 + i)
Next
Cells(14, 3) = "右下がり対角線合計 "
Cells(14, 6) = w
w = 0
For i = 0 To 5
w = w + Cells(7 + i, 6 - i)
Next
Cells(15, 3) = "右上がり対角線合計 "
Cells(15, 6) = w
End Sub
を改良して、
が実現できるようにしましょう。
初心者のためのc++ vc++ c言語 入門 基礎から応用までへ
初心者のための excel 2007 2010 2013 vba マクロ 入門 基礎から応用まで
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ
vb講義トップへ
VB講義基礎へ
専門用語なしのC++入門へ
専門用語なしのJava入門へ
専門用語なしのVBA入門
数独のページ
魔方陣のページ
数学研究室に戻る
本サイトトップへ