http://tirapia.html.xdomain.jp
プリント⑥
問1.とある果物店がある.在庫状況から以下の操作をせよ.
- 1.
- 仕入れ値が高い商品を色で識別したい.商品検索で表示された箇所について,Ifステートメントを活用して¥500を上回る商品の仕入れ値を太字・赤色・アンダーラインをつけるマクロを作成せよ.
- 2.
- 在庫の数に応じて,セルの色を塗り分けたい.商品検索で表示された箇所について,在庫が1桁の場合は赤色,2桁の場合は黄色,3桁の場合は青色となるようIfステートメントを活用したマクロを作成せよ.
- 3.
- 商品検索のセルに商品を入力した場合,在庫数が1桁に限りメッセージボックス「在庫が残り少ないです」が表示されるようCaseステートメントを活用してマクロを作成せよ.2
Private Sub Worksheet_Change(ByVal Target As Range) 'シートに変更がある場合に作動する
If Target.Address = "$A$17" Then '変更があった場所がA17なら
'問題1. 1
If Val(Range("B17").Value) >= 500 Then
Range("B17").Font.Bold = True
Range("B17").Interior.Color = RGB(255, 0, 0)
Range("B17").Font.Underline = xlUnderlineStyleSingle
Else
Range("B17").Font.Bold = False
Range("B17").Interior.Color = RGB(255, 255, 255)
Range("B17").Font.Underline = xlUnderlineStyleNone
End If
'問題1. 2
If Val(Range("E17").Value) < 10 Then
Range("E17").Interior.Color = RGB(255, 0, 0)
ElseIf Val(Range("E17").Value) < 100 Then
Range("E17").Interior.Color = RGB(255, 255, 0)
ElseIf Val(Range("E17").Value) < 1000 Then
Range("E17").Interior.Color = RGB(0, 0, 255)
Else
Range("E17").Interior.Color = RGB(255, 255, 255)
End If
'問題1. 3
If Val(Range("E17").Value) < 10 Then
MsgBox "在庫が残り少ないです"
End If
End If
End Sub
値が入力された際に実行されるプログラムの構築には,以下の手順にて作成される環境での記述が必要である.
- ①VBAのファイル操作ウィンドウで"Sheet1"をダブルクリックする.
- ②プログラムウィンドウの上部のドロップダウンメニュー(左)を"(General)"から"Worksheet"に変更.
- ③プログラムウィンドウの上部のドロップダウンメニュー(右)を"Change"に変更.
問題2.Excelシート上にあるボタンを,クリックすることで現れるインプットボックスに数値入力時にメッセージボックスを表示させるマクロを作成せよ.
- ①Ifステートメントを用いて作成.
- ②Case-Toステートメントを用いて作成.
- ③Case-Ifステートメントを用いて作成.
- インプットボックスのコメント:「前回実施した国語の得点を入力してください」
- インプットボックスの入力値:テストの点数
- 出力:81~100→「優です」,71~80→「良です」,60~70→「可です」,0~59→「不可です」.それ以外の値→「0~100の数字を入力してください」
Sub question6_2_1()
Dim result As Integer
result = Application.InputBox(prompt:="前回実施した国語の得点を入力してください", Type:=1)
If 80 < result And result <= 100 Then
MsgBox "優です"
ElseIf 70 < result And result <= 80 Then
MsgBox "良です"
ElseIf 60 <= result And result <= 70 Then
MsgBox "可です"
ElseIf 0 <= result And result < 60 Then
MsgBox "不可です"
Else
MsgBox "0~100の数字を入力してください"
End If
End Sub
Sub question6_2_2()
Dim result As Integer
result = Application.InputBox(prompt:="前回実施した国語の得点を入力してください", Type:=1)
Select Case result
Case 81 To 100
MsgBox "優です"
Case 71 To 80
MsgBox "良です"
Case 60 To 70
MsgBox "可です"
Case 0 To 59
MsgBox "不可です"
Case Else
MsgBox "0~100の数字を入力してください"
End Select
End Sub
Sub question6_2_3()
Dim result As Integer
result = Application.InputBox(prompt:="前回実施した国語の得点を入力してください", Type:=1)
Select Case result
Case Is > 100
MsgBox "0~100の数字を入力してください"
Case Is > 80
MsgBox "優です"
Case Is > 70
MsgBox "良です"
Case Is >= 60
MsgBox "可です"
Case Is >= 0
MsgBox "不可です"
Case Is < 0
MsgBox "0~100の数字を入力してください"
End Select
End Sub
6-1
Sub d()
Range("b17").Select
If ActiveCell.Value > 500 Then
ActiveCell.Font.ColorIndex = 3
ActiveCell.Font.Bold = True
ActiveCell.Underline = xlUnderlineStyleSingle
End If
End Sub