見出し画像

妻がエクセル勉強しようかなーといいだしたので、ここぞとばかりに教える準備する件【つまため第6話】


この記事を読むと:モーダル(≒小さいウィンドウ)を使える。
記事ポイント:#エクセル初心者 #VBA
こんな人に読んでほしい:#エクセル初心者 #VBAを覚えたい方

ぜひ、スキ・フォローもお願いします!!
励みになります!!

■前回の振り返り

妻からのオーダーを受け、FILTER・IFERROR・FIND関数を利用して、
情報のピックアップをしました。
無事一通り伝えてましたが、今回は私から妻への提案編。
聞くと、入っている内容は大切そうなので、間違えて更新などしないように、フォームを使うのはどうかと、ふとおもったので、提案してみる。

■妻とのやり取り

私「(まずはジャブから!)この前やったFILTER・IFERROR・FIND関数
  覚えてる?」
妻「ねー、私今週試験ていったよね?余計な事やってられないの!」
私「あ、ごめん!!そうだったね。。。。」

ということで、タイミングがとても悪かったご様子。
覚えているかは定かではありませんが、せっかく思いついたことなので、
準備だけ進めておこうと思います。

下記のようにシートがあるので、

画像1

B列からG列の範囲でダブルクリックをすると、
下記のようにウィンドウが立ち上がる

画像2

そして、編集する場合は、このフォーム内で編集の上更新する。
このようにすれば、行違いで入力したりも防げるし、情報が見やすい!
と思う。

どうだろうか。受け入れられるかは、不安でしかたがないが、
とりあえず、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開発者が徹底分析!

【WEB広告関連】
・クリ調べ第1話
・クリ調べ第2話

【投稿者の人となり関連】
・アトピー奮闘記

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