練習問題(1) - Visualプログラミング

練習問題(1)
21 Oct., '14
ブックdr21Oct14-1.xlsmのセル範囲
"A1:A20"には,-50~+50の範囲の
浮動小数点型の数値が記されている.
これを,セル範囲"B1:B20"(図の赤
枠内)の対応する行に,A1⇒B20,
A2⇒B19,...,A20⇒B1のように,逆
向きに表示するプログラムを作成しな
さい.ただし,数値が負数の場合はな
にもしないこと.プロシージャ名は
inverseSkipとする.データ数が20であ
ることは既知として良い.
平成26年度都市環境学科Visualプログラミング
14
練習問題(1)-解答
21 Oct., '14
Sub inverseSkip()
Const NR As Integer = 20
Dim iR As Integer
Dim num As Double
For iR = 1 To NR
num = Cells(iR, 1)
If (num > 0) Then
Cells(NR - iR + 1, 2).Value = _
num
End If
Next iR
End Sub
平成26年度都市環境学科Visualプログラミング
15
練習問題(2)
21 Oct., '14
ブックdr21Oct14-2.xlsmのセル範囲
"A1:A20"には,-50~+50の範囲の
浮動小数点型の数値が記されている.
これを,セル範囲"B1:B20"(図の赤枠
内)の対応する行に,練習問題(1)と同
様に,逆向きに表示するプログラムを
作成しなさい.ただし,数値が負数の
場合は何もせず,図のように次の正数
を次々に詰めて記すこと.プロシージャ
名はinverseFillとする.データ数が20で
あることは既知として良い.
平成26年度都市環境学科Visualプログラミング
16
練習問題(2)-解答
21 Oct., '14
Sub inverseFill()
Const NR As Integer = 20
Dim iR As Integer
Dim jR As Integer
Dim num As Double
jR = 0
For iR = 1 To NR
num = Cells(iR, 1)
If (num > 0) Then
jR = jR + 1
Cells(NR - jR + 1, 2).Value = _
num
End If
Next iR
End Sub
平成26年度都市環境学科Visualプログラミング
17
練習問題(3)
21 Oct., '14
ブックdr21Oct14-3.xlsmのシートには,
右図のように,2行目から,A列に氏名,
B列にある科目の試験の素点が記入
されている.Select Case文を用い
て,C列にこの科目の評価結果をS~
Dで記入するプログラムを作成しなさ
い.ただし,90点以上はS,80点以上
はA,70点以上はB,60点以上はC,
59点以下はDとする.ただし,不受験
で,素点欄が空白の場合は,Fを記入
すること.プロシージャ名は,
evaluationとする.
平成26年度都市環境学科Visualプログラミング
練習問題(3)-解答
21 Oct., '14
Sub evaluation()
Const NR As Integer = 20
Dim iR As Integer
Dim score As Integer
Dim evaluation As String
For iR = 1 To NR
If (Cells(iR + 1, 2) <> "") Then
score = Cells(iR + 1, 2)
Select Case score
Case Is >= 90
evaluation = "S"
Case Is >= 80
evaluation = "A"
Case Is >= 70
evaluation = "B"
Case Is >= 60
evaluation = "C"
Case Else
evaluation = "D"
End Select
Else
evaluation = "F"
End If
Cells(iR + 1, 3) = evaluation
Next iR
End Sub
平成26年度都市環境学科Visualプログラミング
練習問題(3)-解答(別解)
21 Oct., '14
Sub evaluation()
Const NR As Integer = 20
Dim iR As Integer
Dim score As Integer
Dim evaluation As String
For iR = 1 To NR
If (Cells(iR + 1, 2) <> "") Then
score = Cells(iR + 1, 2)
If (score >= 90) Then
evaluation = "S"
ElseIf (score >= 80) Then
evaluation = "A"
ElseIf (score >= 70) Then
evaluation = "B"
ElseIf (score >= 60) Then
evaluation = "C"
Else
evaluation = "D"
End If
Else
evaluation = "F"
End If
Cells(iR + 1, 3) = evaluation
Next iR
End Sub
平成26年度都市環境学科Visualプログラミング
練習問題(4)
ブックdr21Oct14-4.xlsmのシートには,右
図のように,1行目から40行目まで,A列に
1桁の16進数が記されている.これを10進
数に変換して,B列に記すプログラムを作
成しなさい.16進数を文字列として読み込
み,Select Case文を用いて,"A"~
"F"であれば,それに対応する数値に変換
し,"0"~"9"であれば,A列の内容をその
ままB列に書き出せば良い.データ数が40
であることは既知として良い.プロシー
ジャ名は, hexToDecimalとする.
21 Oct., '14
中途略
平成26年度都市環境学科Visualプログラミング
練習問題(4)-解答
21 Oct., '14
Sub hexToDecimal()
Const NR As Integer = 40
Dim iR As Integer
Dim s As String
Dim num As Integer
For iR = 1 To NR
s = Cells(iR, 1)
Select Case s
Case "A"
num = 10
Case "B"
num = 11
Case "C"
num = 12
Case "D"
num = 13
Case "E"
num = 14
Case "F"
num = 15
Case Else
num = Cells(iR, 1)
End Select
Cells(iR, 2) = num
Next iR
End Sub
平成26年度都市環境学科Visualプログラミング
練習問題(5)
ブックdr21Oct14-5.xlsmの
シートには,右図のように,A
列の2行目から22行目まで,
漢字の氏名が記されており,
すべてふりがなの情報を
持っている.漢字の読みが
「か」~「そ」で始まる氏名の
色を赤くするプログラムを作
りなさい.データ数が20であ
ることは既知として良い.プ
ロシージャ名は, kanaColor
とする.
平成26年度都市環境学科Visualプログラミング
練習問題(5)-解答
Sub kanaColor()
Const NR As Integer = 20
Dim iR As Integer
Dim hiragana As String
For iR = 1 To NR
hiragana = Cells(iR + 1, 1). _
Phonetic.Text
If (hiragana Like "[か-そ]*") Then
Cells(iR + 1, 1).Font. _
ColorIndex = 3
End If
Next iR
End Sub
平成26年度都市環境学科Visualプログラミング