28日目 赤点と成績優秀者【30日間1日1本マクロ生活】
30日間1日1本マクロ生活、28日目です。
マクロを書く準備は、0日目に記事を書きました。
成績処理
学校の教員をしているので、テストの成績処理は必ずやる仕事の一つです。
連番 | 氏名 | 得点 |
---|---|---|
1 | 大木菜々実 | 81 |
2 | 久米美穂 | 83 |
3 | 高嶋友吉 | 85 |
4 | 横田愛香 | 35 |
5 | 鳥居昌 | 73 |
6 | 菅谷奈々子 | 97 |
7 | 今西羽菜 | 79 |
8 | 野村龍也 | 14 |
9 | 沢井文康 | 8 |
10 | 細田創 | 9 |
11 | 柳川紗羽 | 71 |
12 | 岩井正広 | 77 |
13 | 浅見末治 | 97 |
14 | 大平音々 | 3 |
15 | 高田歌音 | 79 |
16 | 須藤真治 | 77 |
17 | 堀江喜代志 | 2 |
18 | 堀井貞夫 | 2 |
19 | 尾形安奈 | 28 |
20 | 影山夕菜 | 27 |
21 | 田尻麗香 | 47 |
22 | 武藤珠希 | 38 |
23 | 末永武信 | 72 |
24 | 棚橋未来 | 66 |
25 | 石崎奈月 | 14 |
26 | 相田永二 | 79 |
27 | 森脇昌子 | 81 |
28 | 布施咲子 | 18 |
29 | 上杉颯太 | 77 |
30 | 小寺正利 | 25 |
31 | 玉城剣一 | 30 |
32 | 村上広司 | 33 |
33 | 熊谷鈴 | 54 |
34 | 沢井千紗 | 30 |
35 | 大城莉歩 | 85 |
36 | 柳田千紗 | 6 |
37 | 青山辰二 | 68 |
38 | 萩原時男 | 72 |
39 | 平山昭吉 | 10 |
40 | 天野亜美 | 50 |
41 | 沖与四郎 | 6 |
42 | 吉川賢二 | 84 |
43 | 猪俣常男 | 54 |
44 | 有馬優斗 | 88 |
45 | 石田紗矢 | 32 |
46 | 長島勇吉 | 73 |
47 | 尾崎里穂 | 56 |
48 | 辻本健志 | 48 |
49 | 土橋若葉 | 74 |
50 | 勝又瞳 | 59 |
残念ながら点数が取れなかった場合、赤点となります。
40点未満の場合は赤点で、文字通り得点を赤く装飾します。
85点以上の場合は成績優秀者として褒め称えるため、別の表に抽出します。
とりあえずコードを
Sub shori()
y = 2
yushu = 2
Do While Cells(y, 1) <> ""
p = Cells(y, 3)
nam = Cells(y, 2)
If p < 40 Then
Cells(y, 3).Font.ColorIndex = 3
End If
If p >= 85 Then
Cells(yushu, 6) = nam
Cells(yushu, 7) = p
yushu = yushu + 1
End If
y = y + 1
Loop
End Sub
これも難しいことはしていません。
データの見出しを除く2行目からスタートし、連番がなくなるまでループ。
得点が40未満なら赤く装飾。
85以上なら名前と得点を別の表に。
その都度、別表のy座標を1つずつ増やしています。
実行結果
これが
こうなります。
完璧ですな。
Excelは便利
悔しいですが、Excelは便利です。
Microsoftにお金を払うのは癪でしょうがないんですが、Excelばかりは仕方がない。
マクロを書くようになると、Excelからは離れられないですね。
30日間、残り2日です。頑張ります。
マイクロソフト 2014-10-17