VBA別館・Python別館
オプションボタンをユーザーフォーム上で使う(完) - Tak
2018/08/29 (Wed) 17:35:21
オプションボタンはユーザーフォーム上で使うことが多いので、その練習をしてみましょう。
① ユーザーフォームを開く
・開発ーVisualBasicと行くと自動的にVBAのデザイン画面が出てきます。
・この後Userformを追加し、OptionButtonやCommandButtonも追加してプログラムを作ります。
どんなプログラムを作るかが、最初にやるべき仕事です。 明日までに考えておきます。
Re: オプションボタンをユーザーフォーム上で使う - Tak
2018/08/30 (Thu) 08:27:25
② 何をするかの列挙
何といっても何をどうしたいかが決まらないといけませんので、取敢えず次のようなことをするようにします。
・sheet上からCommanButtonクリックで、userformを開く
・Userform上のoptionButton1をクリックしたら、MsgBoxで「今OptionButton1を押しました」と表示させる
・同じことをOptionButton2,3でも行う
非常に簡単な処理ですが、これがスイスイ出来るようになると、VBAのこれからが楽になります。
ではまずSheetにCommandButtonを張り付けます。
このCommandButtonが役に立つには、まずUserform1にOptionButtonを張り付けてからですので、暫く後です。
Re: オプションボタンをユーザーフォーム上で使う - Tak
2018/08/30 (Thu) 13:26:28
③ sheet上にCpmmandButtonを張り付けます
・開発-Visual Basic
・CommandButtonマークをクリック
すると図の様になります。 このあとonoCommandButton1をクリックするとUserForm1が開くはずですが、まだUserFomを作成していないのでまだ開きません。
UserFrom1作成は次回。
Re: オプションボタンをユーザーフォーム上で使う - Tak
2018/08/30 (Thu) 13:34:19
④ UserForm1を作ります
図に従い、VBA枠を表示させます。 開発-Visual Basicとやればこの枠はが表示されます。
そしてその赤枠の中のユーザーフォームをクリックして下さい。 次回に続く。
Re: オプションボタンをユーザーフォーム上で使う - Tak
2018/08/30 (Thu) 19:06:46
⑤ UserForm1を挿入します
図のように出てきます。 皆さんのExcelの使用条件で必ずしも同じ図にはなりませんが、Excelの陰に隠れてたり、ユーティリティも出てたりします。
Re: オプションボタンをユーザーフォーム上で使う - Tak
2018/08/31 (Fri) 07:21:13
⑥ UserForm1のプロパティーを変更
・ShowModalのTrueをFalseにする-->これでフォームが開いているときにでも、シートへのアクセスができます(青枠)
・必要なら名前(Caption)も好きに変更してください(青枠)
Re: オプションボタンをユーザーフォーム上で使う - Tak
2018/08/31 (Fri) 07:38:36
⑦ UserForm1へOptionButton、CommandButtonを載せます
・ツールボックスをクリック(茶色枠)
・オプションボタンを3個載せる(赤枠)
・コマンドボタンを2個載せる(青枠)
図の様になります。
これで、SheetからUserFormを呼びだす準備ができました。 どうやって呼び出すかを考えてみて下さいね。
Re: オプションボタンをユーザーフォーム上で使う - Tak
2018/08/31 (Fri) 15:41:20
⑧ Userformを呼び出すcodeです
Option Explicit
Private Sub CommandButton1_Click()
UserForm1.Show <--書くのはこれだけです。
End Sub
これらは決まり文句ですから、カードでも作って書き留めておきましょう。
はい、図の様にオプションボタンが3個、コマンドボタンが2個張り付いているユーザーフォームが表示されましたね。
Re: オプションボタンをユーザーフォーム上で使う - Tak
2018/09/01 (Sat) 15:03:31
⑨ codeを書きましょう
図の様に;
・開発-デザインモード
・コマンドボックスをクリック
・コードの表示をクリック
するとVBA枠が表示されます。
Re: オプションボタンをユーザーフォーム上で使う - Tak
2018/09/01 (Sat) 15:12:59
⑩ ⑨の続き
まだ図の赤枠部分しか書かれておりません。 これがUserform1を開くためのcodeです。
Sheetに或るCommandButton1の働きは、UserForm1を表示するだけの役目ですので、これで終わりです。
次回はUserFormへ場所が変わりますので、そこのパーツの処理をそれぞれ書きます。