妻がエクセル勉強しようかなーといいだしたので、ここぞとばかりに教える準備する件【つまため第6話】
この記事を読むと:モーダル(≒小さいウィンドウ)を使える。
記事ポイント:#エクセル初心者 #VBA
こんな人に読んでほしい:#エクセル初心者 #VBAを覚えたい方
ぜひ、スキ・フォローもお願いします!!
励みになります!!
■前回の振り返り
妻からのオーダーを受け、FILTER・IFERROR・FIND関数を利用して、
情報のピックアップをしました。
無事一通り伝えてましたが、今回は私から妻への提案編。
聞くと、入っている内容は大切そうなので、間違えて更新などしないように、フォームを使うのはどうかと、ふとおもったので、提案してみる。
■妻とのやり取り
私「(まずはジャブから!)この前やったFILTER・IFERROR・FIND関数
覚えてる?」
妻「ねー、私今週試験ていったよね?余計な事やってられないの!」
私「あ、ごめん!!そうだったね。。。。」
ということで、タイミングがとても悪かったご様子。
覚えているかは定かではありませんが、せっかく思いついたことなので、
準備だけ進めておこうと思います。
下記のようにシートがあるので、
B列からG列の範囲でダブルクリックをすると、
下記のようにウィンドウが立ち上がる
そして、編集する場合は、このフォーム内で編集の上更新する。
このようにすれば、行違いで入力したりも防げるし、情報が見やすい!
と思う。
どうだろうか。受け入れられるかは、不安でしかたがないが、
とりあえず、VBAの一歩目を進んでもらえたらうれしいので、
準備しよう。
ということで、コードを書いてみた。
■コード
'初期化する
Private Sub UserForm_Initialize()
'備考欄設定/改行できるようにする
remarks.MultiLine = True
'行内容の取得(行番号だけは編集不可に設定)
row.Text = ActiveCell.row
row.Enabled = False
row.Locked = True
numOfTraining.Text = Cells(ActiveCell.row, "B").Value
trainingContent.Text = Cells(ActiveCell.row, "C").Value
target.Text = Cells(ActiveCell.row, "D").Value
trainingMethod.Text = Cells(ActiveCell.row, "E").Value
department.Text = Cells(ActiveCell.row, "F").Value
remarks.Text = Cells(ActiveCell.row, "G").Value
End Sub
'ダブルクリック時のアクション
Private Sub btn_Click()
Cells(ActiveCell.row, "B").Value = numOfTraining.Text
Cells(ActiveCell.row, "C").Value = trainingContent.Text
Cells(ActiveCell.row, "D").Value = target.Text
Cells(ActiveCell.row, "E").Value = trainingMethod.Text
Cells(ActiveCell.row, "F").Value = department.Text
Cells(ActiveCell.row, "G").Value = remarks.Text
Unload inputForm
End Sub
妻の反応に少し心がくじけてしまいそうなので、
妻に説明できるように細かな解説は、次回にしよう。
■関連記事
【本記事関連】
・つまため第1話
・つまため第2話
・つまため第3話
・つまため第4話
・つまため第5話
・つまため第6話←本記事
【RPA関連】
・RPAどうなん?(営業部門)
・RPAつまづいたシリーズ①
・RPAって?信じていいの!?導入したら効果でる??RPA開発者が徹底分析!