エクセルのマクロを活用する

松谷です。

保護者会の資料では反転授業クラスや中学数学クラスは、今までの成績表のまとめみたいなものをお配りしています。

そのなかで、特に反転授業の毎回の小テスト結果については、大元のデータと照らし合わせながら、稲荷先生と僕が、各生徒ごとに〇をつけながら手作りで作っていたんですね。

(松谷くんは、第1回25点で5位、第2回50点3位みたいなところに〇をつけていました。上位者しか名前を出していないため、上位でなかった場合その人がどこにいるかわからないので。)

 

で、もう少し生徒に刺激をということで、その資料を単元テストごとに生徒にも配ってはどうかという話になりました。

 

そうなると毎回その作業するのも面倒くさいなと。。。

そこで、名簿データだけあればなんとかしてくれるようにならんかなと考えました。

やりたい作業は、以下の3点でした。

・1か所に名前を打ち込めばその成績表全体からその名前を探してきて色で強調する。

・名前を打ち込むのも面倒なので、数字でも入れると名前が自動で打ち込まれる。

・それぞれの名前ごとに印刷するのも面倒なので自動的にAさんが入力されたら印刷され、次に勝手にBさんが入力され、そしたらまた勝手に印刷され、というように自動で連続印刷される。

果たしてできるのか?ですが、、、、、

 

できました!!

 

エクセルの条件付き書式によるある値と一致したときの色強調表示、エクセルのvlookup関数での名簿の呼び出し、インターネットに落ちているのを参照して組んだエクセルのマクロ(visual basic editorってやつ)による名簿を呼び出すごとの連続印刷!

以上を組み合わせたらなんと全生徒分勝手に強調して印刷してくれることになりました!

いやあ楽になりましたね。

作業負荷としては、毎保護者会もしくは、毎生徒に渡すごとに3~4時間分くらいの負担減でしょうか。しかもミスが出ない。コンピュータありがたやありがたやですね。

ちなみにマクロはこんなんになりました。↓

Sub 連続印刷()
Dim i As Integer
Dim LastRow As Integer

Worksheets(“オリジナル”).Select

With Worksheets(“名簿”)
LastRow = .Range(“A65536”).End(xlUp).Row
For i = 2 To LastRow
Range(“G1”).Value = .Range(“A” & i).Value
ActiveSheet.PrintOut
Next
End With
End Sub

 

まぁ別に自分が楽するためにやっているだけなんですがね。。。そして、プロからみたら基礎中の基礎中の基礎だとは思います。。

 

それでも自分で自分を褒めようと思います(笑)

 

よくわからないところへの労力を減らして、生徒のところや数学的なところに時間を費やしていけるようにしたいと思います。

 

ではでは。