ユーザーフォームの作り方

HOMEメリディアン・ホテルからアテネオリンピック色々な実験BASIC ポケット・コンピュータテーマについて準備中(検討中)杖のおじさんパソコン学校Weekend Mathematics へリンクします。数学の勉強が出来ます。杖のおじさんのBlog杖のおじさんのココログフリー


 問題97 「2005年の問題」のユーザーフォームの作り方

上の左側のテキストボックスに2005と入力して実行ボタンをクリックすると右側の
ように各ラベルに答えが表示されます。
コマンドボタン(Command Button 1)のコードです。ポケットコンピュータのプログラムと比較して見てください。変数は同じにしています
左から2列目のコードはテキストボックスのコードです。チェンジイベントでテキストの内容が変わるとすべてのラベルの答えが消えるようになっています。右側はプロジェクトーVBA project です Workbookが反転されていて選択されていることがわかります。
WorkbookのイベントにUser Form1.Showと記述するとファイルをクリックするとすぐにユーザーフォームが立ち上がり使えることになります。細かいことは以前に解説したユーザーフォームの作り方を参照願います。

10 CLS:INPUT”ハコノ カズ”;A
20 B=INT(-A/2)*(-1)
30 FOR X=1 TO 50
40 IF A=1 THEN C=2^(X-1)-B: D=B-C: E=2^(X-1):PRINT X;“コメ” ;D;”バンメ イジョウ”;E;”バンメ イカノ ハコデス”
50 IF A=1 AND INKEY$=”” THEN 50
60 IF A=1 THEN GOTO 10
70 A=INT(A/2)
80 NEXT X

BASICプログラムをVisualBasic に合わせてNEXTの前にPRINT文を組み込むと上のようになります。
これでWeekend Mathematicsに解答したBasicプログラムの70行から120行までなくなりました。行数を10行間隔にするのは後で
プログラムを追加(修正)出来るからです。Weekend Mathematicsのホームページを見て下さい!
40行もIF A=1 THEN D=2*B-2^(X-1): E=2^(X-1):PRINT X;“コメ” ;D;”バンメ イジョウ”;E;”バンメ イカノ ハコデス”に変えられます。ただし2倍のBだからといってAとしてはダメです。20行でAを2で割って端数を切り上げている場合がありますので。



 問題94 「計算結果の問題」のユーザーフォームの作り方



問題94のユーザーフォームの作り方を解説致します。
ユーザーフォームの作り方を解説しますが問題93の解説も見て下さい、
問題93に書いてあることはここでは省略させていただきます。

計算結果の問題のユーザーフォームの解説

「計算結果の問題」はWeekend Mathematicsを見て10月の問題94と私の解答を見て、そして解説を
見て下さい!下にリンクを張ってあります。ユーザーフォームの基本なので覚えると何でも作れます。

上の図について
左上、テキストボックス(TextBox1)に2004と入力してあります。TextBox1の右にある計算ボタンをクリックすると右のフォームのように計算結果が出ます。左下はコードです。右下はプロパティーです。

フォームに貼りつけるコントロールとそのプロパティーについて

Label1.Caption=含まれる数字を 入力してください!
Label2.Caption=答えは
Label3.Caption=Delete で削除して空白にしておきます
Label4.Caption=番目の式で
Label5.Caption=式の始まりは
Label6.Caption= Delete で削除して空白にしておきます
Label7.Caption=です
Label8.Caption=計算の結果は
Label9.Caption= Delete で削除して空白にしておきます
Label10.Caption=です
TextBox1.Text= Delete で削除して空白にしておきます
CommandButton.Caption=計算

コードは次ぎのと通りです

Private Sub CommandButton1_Click()
A = Int(Val(TextBox1.Text) ^ 0.5)
B = (A + 1) * (A ^ 2 + (A ^ 2 + A)) / 2
Label3.Caption = A
Label6.Caption = A ^ 2
Label9.Caption = B
End Sub

Private Sub TextBox1_Change()
Label3.Caption = ""
Label6.Caption = ""
Label9.Caption = ""

EndSub

上のコードは選択して右クリックコピーを選択して、コードに貼りつけてください。

TextBox1_Change() イベントはTextBox1.Textが変わると各Labelの答えが消えます

完成したらTextBoxにいろいろ数字を入れて実行して見てください。
試しにTextBox1に3004と入力し計算ボタンをクリックすると54番目、式の始まりは
2916です 計算の結果は161865です と表示されます。





 問題93 「おうぎ形の面積」のユーザーフォームの解説



「おうぎ形の面積」はWeekend Mathematicsを見て9月の問題93と私の解答を見て、そして解説を見て下さい!下にリンクを張ってあります。ユーザーフォームの基本なので覚えると何でも作れます。

VisualBasicのプログラミングは自分で勉強する以外ないのです、マイクロソフトのホームページの中にある会員同士の意見交換しかないのが現状ですね!みんなが勉強して良いアイデァを出しあいたいものです。人から良いアイデアを提供して貰いたいときは、自分もそれ以上のアイデアを持つことが基本です。私も皆さんから勉強させて頂いているので知っていることは記載していきます。

Val は文字変数を数値変数に変換いたします。Str は数値変数を文字変数に変換いたしす。TextBox1.Textは文字変数なのでVal(TextBox1.Text)として数値変数とします。
Label1.Captionは 文字変数でも数値変数でも表示しますが、この例では文字を結合
しようとしていますので、数値変数kを Str(k)として文字変数にしています。
Dim  A  As Single と変数を宣言し小数点14桁以下四捨五入、宣言しないとデフォルトで小数点16桁以下四捨五入となります。

計算式はCommandButtonのコードに記述してください、エクセルを立ち上げたとき直ぐに表示させるにはWorkbookのOpen イベントコードにUserform1.Showと記述してください、保存はエクセルと同じなので慣れていますよね!
TextBoxは入力におもに使います。表示も出来ますよ!Labelは出力です、
このフォームは半径を入れてボタンをクリックすると面積が出るプログラムです。
プログラムは10人の人が作ると10人とも違います、もちろん結果は同じです、
したがって、勉強して、自分で作ることです。作る事が覚える事です。

〇 ユーザーフォームの作り方
ツールバーよりツール→マクロ→Visual Basic Editorをクリックすると、Visual Basic
編集画面になります。挿入を選択しユーザーフォームをクリックします。フォームと
コントロールが出ますのでドラック・アンド・ドロップでコントロールを貼り付けます。
フォームの上で右クリックするとプロパテイの変更およびコードの記述が出来ます。

本プログラムは次ぎのコントロールが貼りついています。

プロパティは次ぎの通りです
Label1.Captionは空白にしています。TextはDeleteで削除してます
Label2.Captionには半径入力と入力しています
Command Button1のCaptionには計算と入力しています
Image1,Pictureにはおうぎ形の画像を貼りつけています。

コードは次ぎの通りです。
Private Sub CommandButton1_Click()
A = Val(TextBox1.Text)
k = (A ^ 2 * 3.14 * (54 / 360) * 2) - (A ^ 2 * 3.14 * (18 / 360) * 2)
Label1.Caption = "面積は" + Str(k) + "です"
End Sub

出来たらTextBoxにいろいろ数字を入れて実行して見てください。

追記 Label1.Caption="面積は"+Str(k)+"cuです"  としたかったな!
その方が答えとしては正しいですね!




 リンク集

 Weekend Mathematics
数学の勉強等、いろいろ勉強が出来ます。このリンクは覚えておいて下さい


HOMEメリディアン・ホテルからアテネオリンピック色々な実験BASIC ポケット・コンピュータテーマについて準備中(検討中)杖のおじさんパソコン学校Weekend Mathematics へリンクします。数学の勉強が出来ます。杖のおじさんのBlog杖のおじさんのココログフリー