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

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

締切り済みの質問

エクセルVBA マクロのプログラムがわかりません教えてください

VBAのマクロのプログラムの問題ですがこの条件のプログラムを教えてください!おねがいします

問題:インプットボックス関数を使って国語、数学、英語の点数を入力し合計点によって以下が表示されるようにしなさい。マクロ名はtestで変数名は各自で設定しなさい

3教科の合計 メッセージボックス
  300点   →    A
299点~270点 →  B
269点~240点 →  C
 239点以下  →    D

投稿日時 - 2005-06-06 20:38:00

QNo.1433233

すぐに回答ほしいです

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

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

回答(3)

ANo.3

Sub test()
a = InputBox("国語の点数入力")
b = InputBox("数学の点数入力")
c = InputBox("英語の点数入力")
d = a + b + c

End Sub
この形からなら『マクロ実行のオブジェクトを指定すること』と、IFでネストをつくると非常に長いので『select caseを使う』と『Msgboxとその組込定数』、『結果を反映させるオブジェクトの指定』で基本構文は完成しますね。DIMは無理に使わなくてもいいですが、指定してあると後々便利です。

投稿日時 - 2005-06-06 22:23:20

お礼

結構難しいですね。
いろいろありがとうございました

投稿日時 - 2005-06-07 22:06:06

ANo.2

外の条件が無いので一般的な形だけでよろしければ以下を読んで下さい。
先ずオブジェクトは適当に決めてください。(ボタンを作ってそこに引っ付けてもいいですし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で構文を完結させてください。分かり辛かったら申し訳ありません。 

投稿日時 - 2005-06-06 21:58:11

ANo.1

>マクロ名はtestで変数名は各自で設定しなさい


課題でしょ

自分でやって解らない所を聞くようにしたら?

投稿日時 - 2005-06-06 21:08:48

補足

Sub test()
a = InputBox("国語の点数入力")
b = InputBox("数学の点数入力")
c = InputBox("英語の点数入力")
d = a + b + c
IF~
End Sub


初めはこんな感じでしょうか
IF関数をどう使うのかがよくわからないんです

投稿日時 - 2005-06-06 21:49:13

あなたにオススメの質問