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





