第5回では、入力した数値が
70以上なら合格、70未満なら不合格
という判定でした。
今回は以下の4段階評価を行います。・・・@
80 〜 100 優
60 〜 79 良
30 〜 59 可
0 〜 29 不可
さらに今回は以下のエラー処理も追加します。・・・A
未入力またはブランク入力時、未入力エラー
数字でない文字列混入時、文字列混入エラー
少数混入時、少数混入エラー
0〜100ではない整数混入時、範囲外エラー
[初期設定]
ファイル名:Book1.xls
シート名:Sheet1
下記の値を設定する
1行A列:35
[マクロの処理]
1行A列の値を判定し、判定結果を1行B列に設定する。
判定方法は上記@とAを参照して下さい。
まずは、下記のMacro1を作成して下さい。
Sub Macro1()
'
' Macro1 Macro
' マクロ記録日 : 2008/01/09 ユーザー名 :
'
'1行1列の値を変数workに格納
Dim work As String
work = Trim(Workbooks("book1.xls").Worksheets("sheet1").Cells(1, 1))
'workの値を判定し、判定結果を1行2列に格納
If "" = work Then
'未入力またはブランク入力時
Workbooks("book1.xls").Worksheets("sheet1").Cells(1, 2) = "未入力エラー"
ElseIf False = IsNumeric(Workbooks("book1.xls").Worksheets("sheet1").Cells(1, 1)) Then
'文字列混入時
Workbooks("book1.xls").Worksheets("sheet1").Cells(1, 2) = "文字列混入エラー"
ElseIf 0 <> InStr(1, work, ".", vbTextCompare) Then
'少数混入時
Workbooks("book1.xls").Worksheets("sheet1").Cells(1, 2) = "少数混入エラー"
ElseIf 80 <= work And work <= 100 Then
'80〜100の整数値
Workbooks("book1.xls").Worksheets("sheet1").Cells(1, 2) = "優"
ElseIf 60 <= work And work <= 79 Then
'60〜79の整数値
Workbooks("book1.xls").Worksheets("sheet1").Cells(1, 2) = "良"
ElseIf 30 <= work And work <= 59 Then
'30〜59の整数値
Workbooks("book1.xls").Worksheets("sheet1").Cells(1, 2) = "可"
ElseIf 0 <= work And work <= 29 Then
'0〜29の整数値
Workbooks("book1.xls").Worksheets("sheet1").Cells(1, 2) = "不可"
Else
'0〜100ではない整数値
Workbooks("book1.xls").Worksheets("sheet1").Cells(1, 2) = "範囲外エラー"
End If
End Sub
1行A列に35を設定し、マクロを実行してみて下さい。
1行B列に"可"が設定される事を確認して下さい。
1行A列にあらゆる値を設定して、
仕様どうりに動作しているか確認して下さい。
ソースコードについては、次回説明します。
ではまた・・・
2008年01月09日
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/77323108
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック
http://blog.seesaa.jp/tb/77323108
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック



