- 締切済み
エクセルVBA マクロのプログラムがわかりません教えてください
VBAのマクロのプログラムの問題ですがこの条件のプログラムを教えてください!おねがいします 問題:インプットボックス関数を使って国語、数学、英語の点数を入力し合計点によって以下が表示されるようにしなさい。マクロ名はtestで変数名は各自で設定しなさい 3教科の合計 メッセージボックス 300点 → A 299点~270点 → B 269点~240点 → C 239点以下 → D
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- tama_001
- ベストアンサー率35% (12/34)
Sub test() a = InputBox("国語の点数入力") b = InputBox("数学の点数入力") c = InputBox("英語の点数入力") d = a + b + c End Sub この形からなら『マクロ実行のオブジェクトを指定すること』と、IFでネストをつくると非常に長いので『select caseを使う』と『Msgboxとその組込定数』、『結果を反映させるオブジェクトの指定』で基本構文は完成しますね。DIMは無理に使わなくてもいいですが、指定してあると後々便利です。
- tama_001
- ベストアンサー率35% (12/34)
外の条件が無いので一般的な形だけでよろしければ以下を読んで下さい。 先ずオブジェクトは適当に決めてください。(ボタンを作ってそこに引っ付けてもいいですしbeforedubblueclickでもいいです)次に点数の変数をDimで宣言します。 →Dim (変数名)As Integer。『比較に使う数字はどんな種別かを宣言する。』 宣言のあと変数は何なのかを決めてあげる。(仮にTEN) →TEN=(総得点のセル番地または合計を出せる式)『総合計のセルが無ければ個々に足し算しても良いいです。』 次は比較演算子の問題ですから構文SELECT CASEを使い →Select case TENとして改行し次段に →case 300<TEN then MsgBox(”評価A”,vbokonly)基本はここまでです。 残りの評価部分もcase 270<TEN<299 then MsgBox(”評価B”,vbokonly)と繰り返します。 最後は →CASE else 次段に END subで構文を完結させてください。分かり辛かったら申し訳ありません。
- Pesuko
- ベストアンサー率30% (2017/6702)
>マクロ名はtestで変数名は各自で設定しなさい 課題でしょ 自分でやって解らない所を聞くようにしたら?
補足
Sub test() a = InputBox("国語の点数入力") b = InputBox("数学の点数入力") c = InputBox("英語の点数入力") d = a + b + c IF~ End Sub 初めはこんな感じでしょうか IF関数をどう使うのかがよくわからないんです
お礼
結構難しいですね。 いろいろありがとうございました