見出し画像

入社1年目の情シス女子|Excel VBAに初挑戦

早紀(@saki_program)です。

今年新卒で情報システム部に配属されました。
まだまだできる仕事は少ないので、勤務時間中に自習する時間を与えてもらってます。

そのうちマクロ組んでもらうことも出てくるから、今のうちにしっかり勉強しといてねと言われ、Excel VBAを学習してます。

マクロ記録という機能があることは知ってました。ただし、マクロの自動記録ではできないこともあるそうで。

1. 繰り返し処理や条件分岐ができない
2. ユーザーと対話できない

ではこの対話形式のものを一つ作ってみようと思い、

未記入の箇所があれば注意メッセージを出力するもの

私が初めて自作したものになります。
※先輩に少しアドバイスもらいましたが(笑)

記入漏れの場合にメッセージ出力

画像1

こちらは受験者の試験の得点表です。一部の受験者の得点の記載が漏れている状態で、合否判定のボタンを押すとエラーメッセージが出力し、処理が中断されるものです。

Sub 合否判定()
  Dim row As Long '行を示す変数

  ' C2からC11のセルで、未記入("")がないかチェック。
  ' あったら"セルが未記入です"MagBoxで表示する
  For row = 2 To 11
    If Cells(row, 3) = "" Then
      MsgBox "C" & row & "セルが未記入です" & vbCrLf & "処理を中断します"
      Exit Sub
    End If
  Next row

  ' C2からC11のセルの値が70以上ならD列のセルに"合格"、そうでないならD列のセルに"不合格"
  For row = 2 To 11
       If Cells(row, 3) >= 70 Then
           Cells(row, 4) = "合格"
       Else
           Cells(row, 4) = "不合格"
       End If
   Next row

End Sub

初めてなら、これでいいんじゃない。良い体験になったね。と言われました。

私、過去にRubyの教科書でプログラミングの勉強したことあって、今回も勉強中に、また同じ疑問が湧いてきたんです。教材で勉強したところで、これ作りたいと思っても、作れるようになりませんよね・・・。

とりあえず基礎だけ身につけておけば、いざ作りたいものができたときに、検索しまくれば、なんとか作れるようになるものなのでしょうか?

まだその作りたいもののイメージも湧かないな。私、次何したらこれより先に進めるのでしょうか?

違う教材で学習する?それとも、これはできないのかなとイメージを膨らませる努力をすることですか?


いいなと思ったら応援しよう!