- 締切済み
VBE Excelのマクロがわかりません(IF関数)
エクセルのマクロがわかりません。教えてください 問題は5人の簿記の点数を入力し5人の合計点・最高点・最低点を表示するプログラムを作成する。というものです。 Sub test() Dim boki as integer Dim sum as integer Dim max as integer Dim min as integer For A = 1 to 5 boki = InputBoxx("簿記の点数入力") goukei = goukei + boki ?????? Next A Msgbox"5人の合計点は"&A Msgbox"5人の最高点は"&A Msgbox"5人の最低点は"&A End Sub IF関数を使って??の部分を作るようなのですが、いまいちよく分からないので教えてください。 bokiは簿記 sumは合計 maxは最高 minは最低のことを現してます。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
>エクセルのマクロがわかりません ご質問の趣旨とは違うかもしれませんが、If で選別させるよりも、EXCELでしたら、ワークシート関数を使ったほうが、簡単ではありませんか? Sub test1() Dim boki(1 To 5) As Integer Dim A As Integer For A = 1 To 5 boki(A) = InputBox("簿記の点数入力") Next A MsgBox "5人の合計点は" & WorksheetFunction.Sum(boki) MsgBox "5人の最高点は" & WorksheetFunction.Max(boki) MsgBox "5人の最低点は" & WorksheetFunction.Min(boki) End Sub
- imogasi
- ベストアンサー率27% (4737/17069)
最高、最低という意味とは逆に MAX=0 MIN=100と最初(初期設定)において、これら変数に入れます。 1人分入力あったときに If Boki>Max Then MaX=Boki とMaxを今入れた点数とします 同じく If Boki<Min Then Min=Boki と置き換えます これを5人分繰り返したして、5人終わったときはMin,Maxが具体的に 正しい値を保持してます。 まあアルゴリズムというほどでもない、定石方法でしょう。
- hana-hana3
- ベストアンサー率31% (4940/15541)
>IF関数を使って??の部分を作るようなのですが、いまいちよく分からないので教えてください。 何のために変数(max,min)を設定したのですか? 宿題みたいなので、プログラムの考え方一例です。[ ] 欄は自分で埋めてください。 if [ ] = 1 then '初期値の設定 [ ] = boki [ ] = boki else '変数の比較と代入 if [ ] then [ ] = boki [ ] endif あと、 >Msgbox"5人の合計点は" & A では、"5人の合計点は6" と表示されてしまいすよ。 きちんと動作したら、InputBoxx で「数値」以外が入った場合のことも考えて、プログラムを直して見るのも良いでしょう。
- dokinhime
- ベストアンサー率30% (4/13)
初期値としてMAX=0 MIN=100をいれといたあとに、?の部分で、IF MAX<BOKI THEN MAX=BOKI というふうにしていけばよいのでは?