- ベストアンサー
VBAの問題についてわからないことがあります・・
セル「A1」に整数を入力して、ボタンをクリックすると、メッセージが表示されるようにせよ。 ただし、整数が59以下であれば「不可」、60から69は「可」、70から79は「良」、80以上は「優」と表示する。 なお、ボタンには「点数で成績を表示するIfステートメント」と記述すること。 調べたりしたんですがこの問題がわかりません(・.・;) ご回答よろしくお願いします。
- みんなの回答 (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を閉じる ファイルを保存するか聞かれたら保存する、で。(俺の手違いによりここで作業しているのでそのせいかも。聞かれなきゃそれでいい) →先程保存したファイルを提出。
お礼
ご回答ありがとうございましたm(__)m