みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

VBA セルを使わずに合計と平均の出し方

セルを使わずに、コマンドボタンに不特定数の数字を入力していき、終了ボタンを押すまでその合計と平均を出力するにはどうすれば良いですか?(whilの繰り返しを使用します)

投稿日時 - 2019-07-09 23:10:46

QNo.9633723

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

パソコンスクールの宿題か何かか?先生の説明や回答を待ったらどうか?
OKWAVEで回答してもらって、できましたでは、先生が、学習効果や理解レベルを見誤る。
>コマンドボタンに不特定数の数字を入力し
常識はずれ。コマンドボタンは、数字など受け付ける仕組みはない。
テキストボックスーコマンドボタンの組み合わせなら、あり得る。
>合計と平均を出力する
これもどこへ出力するのか?テキストボックスにでもか?
下記コードでは、簡単な方のメッセージボックスに表示。
ーーー
この課題には、他に重要な難しい課題を含んでいると思うので、質問者の現段階では、難しすぎると思う。
Ststicの仕組やコントロールの値のクリアなど。
件数と合計と平均の表示だけにするなら、やややさしいので、
ユーザーフォームを1つ挿入。(VBEの画面で挿入ーユーザーフォーム)
テキストボックスとコマンドボタンを、1つずつ、そのフォームに貼り付ける
ーー
利用操作
テキストボックスに(半角)数字を1つ入力する。
コマンドボタンをクリック。
メッセージボックスに件数、合計、平均を順次表示。
この操作を繰り返す。
ーー
VBAコード
コマンドボタンのクリックイベントに、下記をコピペ。
そして実行。
Private Sub CommandButton1_Click()
Static ttl, avg, n
If UserForm1.TextBox1.Text = "end" Then GoTo owari
x = Val(UserForm1.TextBox1.Text)
n = n + 1
ttl = ttl + x
avg = ttl / n
MsgBox "件数" & " " & n
MsgBox "合計" & " " & ttl
MsgBox "平均" & " " & Format(avg, "##,###.#")
UserForm1.TextBox1.Text = ""
Exit Sub
owari:
Unload Me
End Sub
終了条件操作は、半角のendを入れて、ボタンをクリック。
Static ttl, avg, nを使うのが適当かどうか、迷いはある。特に、初心者には適当かどうか?

投稿日時 - 2019-07-10 10:05:22

ANo.2

> コマンドボタンに不特定数の数字を入力していき
ボタンに入力とは???

> 終了ボタンを押すまでその合計と平均を出力する
押すまで出力するということは 何のタイミングで出力し
始めるのですか? というかどこに?

> whilの繰り返し
「whil」とは? 「While」?

どこに何がどのようにをもう少し具体的に説明された方がいい
かと思います。

投稿日時 - 2019-07-10 09:22:37

ANo.1

> コマンドボタンに不特定数の数字を入力

ボタンのどこに入力するのでしょう?

> whilの繰り返しを使用します

ユーザーフォームを作ってそこに入力と合計・平均のテキストボックスをそれぞれ作って、入力の更新後処理で計算させて合計・平均に出力、終了ボタンでフォームを閉じるというのではだめなのですか。

投稿日時 - 2019-07-10 07:02:15

あなたにオススメの質問