[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBA テキストボックス 入力されたものだけの平均を出す』(ポリンキー)
初めまして。
1,
コンボボックス8〜11と連動したテキストボックス8〜11があります。
このテキストボックス6〜16のAvre.をテキストボックス17に表示させた
いです。
2,
テキストボックス5の金額にテキストボックス17を掛けたいです。
3,
現在、テキストボックス17を表示させるためにコマンドボタン3を設置し
以下のコードを記載しております。
Private Sub CommandButton3_Click()
Dim g0 As Long Dim ans As Double ans = 0 For g0 = 6 To 16 If IsNumeric(Controls("textbox" & g0).Value) Then ans = ans + CDbl(Controls("textbox" & g0).Value) End If Next TextBox17.Value = Format(ans, Value) / 11 End Sub
これだと、Txt Boxがすべて入力されていると11で割れるのでいいのですが、一部しか入力しない場合もあるため、TxtBox6〜16に入力された数値のみの平均をとることは可能でしょうか?
?Aは上記のコマンドボタン3をクリック後、コマンドボタン4をクリックするとTxt Box18にTxt Box5 * Txt Box17の結果を表示させたいです。
Private Sub CommandButton4_Click()
TextBox18.Value = TextBox5.Value * TextBox17.Value End Sub
こちらを組んではいますが、やはりすべてが入力されていないと、
うまく機能しない状況です。
やりたいことまとめ
1,TxtBox6〜16の数値の平均をTxtBox17に表示したい
2,その際に一部入力のみでも入力されたBoxのみの平均を表示したい
3,TxtBox5が空白の場合コマンド4を押すと"金額を入力してください"
とメッセージが出るようにしたい 4,これはもしできればですが、コマンド3と4を一個にして一回ですべてが 計算できるようになるといいのですができますでしょうか??
初歩的な部分も多いかとは思いますが、
お分かりになる方おられましたらご教示いただけますと幸いです。
宜しくお願い致します。
< 使用 Excel:Excel2019、使用 OS:Windows10 >
2つのプロシジャをひとつにするのは、CommandButton4_Click に書いてある1行を、CommandButton3_Click の最後に移動させれば良いだけでは?
(???) 2020/09/23(水) 17:45
非表示でよいので、作業用シートを用意して、
シート上ですべて計算してはどうでしょうか。
テキストボックスとセルを連動させるということです。
(マナ) 2020/09/23(水) 17:47
11固定ではなく、カウント数で割れば良いかと。 申し訳ありません。
Private Sub CommandButton3_Click()
Dim g0 As Long Dim ans As Double ans = 0 For g0 = 6 To 16 If IsNumeric(Controls("textbox" & g0).Value) Then ans = ans + CDbl(Controls("textbox" & g0).Value) End If Next TextBox17.Value = Format(ans, Value) / 11 End Sub
この中にどのように入れればいいでしょうか?
2つのプロシジャをひとつにするのは 解決しました。
ありがとうございます。
マナさん
コメントありがとうございます。
それも考えたのですが、何百人かが使ってエビデンスとして都度エクセルにフォーム内容を抽出
するため、できればフォーム内で完結する方がいいのかなと思いました。
(ポリンキー) 2020/09/23(水) 17:58
難しい事をやるように指示した訳ではありません。 20分もたたないうちに即質問し直すのではなく、もう少し考えたり、試したりしてみましょう。
なので、TxtBox5 の空欄判定は、ご自分で考えてみてください。 CommandButton3_Click が呼ばれ、いろいろ計算するより前に判定すれば良いですよね?
(???) 2020/09/23(水) 18:08
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.