• ベストアンサー

VBAの問題についてわからないことがあります・・

セル「A1」に整数を入力して、ボタンをクリックすると、メッセージが表示されるようにせよ。 ただし、整数が59以下であれば「不可」、60から69は「可」、70から79は「良」、80以上は「優」と表示する。 なお、ボタンには「点数で成績を表示するIfステートメント」と記述すること。 調べたりしたんですがこの問題がわかりません(・.・;) ご回答よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Excelを起動 セルA1に適当な数値(75とか入力しておく) ツール→マクロ→Visual Basic Editor 表示→プロジェクトエクスプローラ 「プロジェクト-VBAProject」ウィンドウ(以下、これをプロジェクトエクスプローラと記述)の「VBAProject-Book1」を選択 右クリックしてコンテキストメニューを出し、挿入→ユーザーフォーム 「プロジェクトエクスプローラ」の「VBAProject-Book1」の「フォーム」の「UserForm1」をダブルクリック。 UserForm1と書かれたウィンドウらしきものが出てくる。 「表示」-「オブジェクト」で切り替わるこの領域を「デザインビュー」と呼ぶことにする。 「ツールボックス」ウィンドウが出ていなければ「表示」→「ツールボックス」 「ツールボックス」ウィンドウの中でボタンらしきもの※をクリック。 ※ちなみにこれのツールチップ(マウスカーソルをその上に置いておいてしばらく待つと 「コマンド ボタン」と表示されるもの。 そのままドラッグしてデザインビュー上のUserForm1にドロップ(クリックをやめること)。 今ドラッグした領域に、「CommandButton1」というボタンが出来る。俺の環境では実際にはちぎれてて「1」が見えなかったけど。 これを右クリックしてコンテキストメニューからプロパティ 「表示」→「プロパティ ウィンドウ」 「プロパティ-CommandButton1」というウィンドウが出てくる。多分「全体」が見えていると思うのでそこにある表の左側から「Caption」を見つける。 その右側をクリックして「点数で成績を表示するIfステートメント」と入力。 #やり方がわかるんなら、ボタンを広げてもいいな。 「VBAProject-Book1」の「フォーム」の「UserForm1」をクリック 「表示」-「コード」 出てきたところに以下のものを入力 '=========ここから=============== Option Explicit Public Sub CommandButton1_Click() Dim x As Integer x = CInt(Sheet1.Cells(1, 1).Value) If x <= 59 Then MsgBox ("不可") ElseIf 60 <= x And x <= 69 Then MsgBox ("可") ElseIf 70 <= x And x <= 79 Then MsgBox ("良") ElseIf 80 <= x Then MsgBox ("優") End If End Sub '===========ここまで=========== 「ファイル」 - 「Book1の上書き保存」→適当なフォルダに適当なファイル名つけて保存(俺はC:\Book1.xlsとした) 「実行」→「Sub/ユーザーフォームの実行」 出てきたウィンドウのボタンを押して 先程入力した数値と、表示されるべき内容が正しく対応していることを確認する。ウィンドウを閉じるとExcelのセルの方に入力出来るようになるので、いくつかの値でちゃんと分岐するかどうか確かめておくと良いかも(俺はやってません) ウィンドウを閉じる。 「ファイル」→「終了してMicrosoft Excelに戻る」 Excelに戻ったらExcelを閉じる ファイルを保存するか聞かれたら保存する、で。(俺の手違いによりここで作業しているのでそのせいかも。聞かれなきゃそれでいい) →先程保存したファイルを提出。

toukos
質問者

お礼

ご回答ありがとうございましたm(__)m

関連するQ&A

  • ISNUMBERを使って成績を評価せよという問題が解けません。

    ISNUMBERを使って成績を(優・良・可・不可に)評価せよという問題が解けません。 その問題は、試験の総合点によって、160点以上なら優、130点以上なら良、100点以上なら可、100点未満なら不可とせよというものです。説明は、IF関数を繰り返し使えばよい、としています。 そして「=IF(G3>=160、”優”、IF(G3>=160、”良”...のように表せると説明しています。 でも実際この式をセルに挿入すると、正しくありませんと表示されます。 どこが間違っているのでしょうか?教えていただければ幸いです。よろしくお願いします。

  • Excel2010条件が4つの条件付き書式の設定

    15人の成績の一覧表を作っています。点数によって順位をつけています。その順位によって評価欄に「優」「良」「可」「不可」を表示させたいです。0位以上3位未満が「優」、3位以上6位未満が「良」、6位以上9位未満が「可」、9位以上15位以下が「不可」という判定表も作っています。条件付き書式を使いたいのですが、条件が4つあるように思えます。VBAは使わず条件付き書式で表示させる方法を知りたいです。

  • VBAでセルをクリックする回数で表示が変わる

    ExcelVBAについてお伺いします。 成績表をつけているのですが、A列に「優・良・可・不可」の合否判定をしたいと思っています。 大体ずっと自分でその内容を見て判定ごとに入力してつけてきたのですが、人数があまりに多くて、それが面倒なのです。 クリックを1回したら「優」に、 もう一度したら「可」に、さらにすると「不可」なるようなマクロを組みたいと思ってい ます。 A列にのみ限定してそのようなマクロを組むことは可能でしょうか? ワークシートのイベントだと、他の列もそうなってしまったりするのです。 「A列限定の仕方」と「クリックするたびにセルが変わる」の具体的な方法をご存知の方、よろしければお知恵を貸してく ださい。 コンボボックスにしようかとも思ったのですが、クリックイベントを他のことにも流用したいので、あえて今回「マクロで 組む」方法をとりたいと思っています。 わかりにくい説明ですが、よろしくお願いします。

  • 成績評価について

    大学の成績評価には優・良・可・不可とありますが、優をとるのは一般的に言ってかなり難しいことなのですか?

  • エクセル 複数評価の集計結果表示方法について

    目的は、1つの作品に対し、複数の方々から「優・良・可・不可」という形で評価してもらい、それを集計して一番多い評価を評価結果欄に表示したい。 ということです。 今の現状は、 まず、1つの作品に対し、COUNTIFを使って「優・良・可・不可」の件数をカウント。 次にLARGEを使い「優・良・可・不可」の中で一番多い件数を表示。 さらにLOOKUPを使い、一番多い件数は「優・良・可・不可」のいずれかを表示。 ここまではネットで検索しながら進められましたが、問題が発生しました。 「良・可・不可」については、きちんと表示されますが、「優」だけは表示されず「不可」と表示されてしまいます。 このような場合、どのような対策をすれば上手くいくのでしょうか? 素人のためわかりにくい文章とは思いますが、皆様のお知恵を拝借いたしたく、よろしくお願いいたします。

  • この成績どうですか?ちょっと問題視されますか?

    私は現在大学3年生です。 2年後半学期終了時点での成績(優良可不可方式)は、科目数で 優19個、良17個、可13個です。 この成績は口が裂けてもいいねえとはいえないと思いますが、就職活動のとき問題視されたり質問されたりすることはありますか? 主観的意見でもかまわないので、ご意見ください。

  • GPAの換算方法について

    私の大学では成績を 優 良 可 不可 であらわされています。 GPAとして換算する場合、優=4 良=3 可=2 不可=換算の対象外 でいいのでしょうか?  そして、これらの総得点は修得教科数で割るのですか? また、専門と選択の単位の違いによって換算方法は変わるのですか?(選択科目の優はあまり価値が無いとか)

  • ■「優しい」と「優れる」

    「優しい人」っていますよね。 そして、大学の成績表で「優・良・可・不可」ってありますよね。これは、「優れている」という意味です。 どうも・・字は同じなのに、結びつきません! どうか、お教え下さい!!

  • うそつき問題について質問です。

    うそつき問題について質問です。 考え方がよく分からないので教えてください。 よろしくお願いします。 AからE5人が成績表を受け取った。成績が1人が優、1人が可、3人が不可であった。5人の発言は次のようである。不可であった3人は示し合わせて嘘をつき、他の2人は本当のことを言っているとすれば、可をとった者はだれか。 A「Cは不可ではなかった」 B「Aは可だった」 C「Eは不可だった」 D「Bは不可だった」 E「Dは優だった」 解答では優はD、可はEになります。

  • C言語プログラミング初心者

    C言語プログラミング で、「0~100の整数値をコマンドプロンプトから入力し,0~59のとき「不可」,60~69のとき「可」,70~79のとき「良」,80~89のとき「優」,90~100のとき「秀」と出力するプログラム」を作成したいのですがどのようにかけばよろしいのでしょうか?