練習問題(1) 28 Oct., '14 ブックdr28Oct14-1.xlsmのセル範囲“B2:B14”に は,浮動小数点型の数値が13個並んでいる.最 初の数値は2行目に書かれていることは既知とし て良いが,データの個数は未知とする.セル "B2"から順にデータを読み込み,空白のセルが データの終了であると判断して,これらのデータ の個数,合計および平均値を後二者は小数第3 位を四捨五入して小数点以下2桁まで,最終 データの次の行から順に(この場合,セル範囲 "B15:B17"の図の赤枠内に) 書き出すプログラ ムを作成しなさい.データの個数が増減してもプ ログラムを修正しないで,そのまま実行ができる こと.プロシージャ名はsumAverageとする. 平成26年度都市環境学科Visualプログラミング 練習問題(1)-解答 28 Oct., '14 Sub sumAverage() Dim num As Double Dim sum As Double Dim nR As Integer nR = 0 sum = 0 Do Until (Cells(nR + 2, 2).Value = "") nR = nR + 1 num = Cells(nR + 1, 2).Value sum = sum + num Loop Cells(nR + 2, 2) = nR Cells(nR + 3, 2) = Round(sum, 2) Cells(nR + 4, 2) = Round(sum / nR, 2) End Sub 平成26年度都市環境学科Visualプログラミング 練習問題(2) 28 Oct., '14 最初の2項が f1 0, f 2 1 で あって,かつ f n f n 2 f n 1 で表 される数列をフィボナッチ (Fibonacci)数列という.あらかじ め,dr12Nov13-2.xlsmのセル "A1"に f1 0 を,セル"A2"に f 2 1 の値を初期値として与え てあり,第3項目以降を f n 1000 となる直前まで,次々とB列の3 行目以下(図の赤枠内)に書き出 すプログラムを作りなさい.プロ シージャ名は,fibonacciとする. 平成26年度都市環境学科Visualプログラミング 練習問題(2)-解答 28 Oct., '14 Sub fibonacci() Dim f As Integer Dim iR As Integer iR = 2 Do f = Cells(iR - 1, 2) + Cells(iR, 2) iR = iR + 1 If (f < 1000) Then Cells(iR, 2) = f End If Loop While (f < 1000) End Sub Sub fibonacci2() Dim f As Integer Dim iR As Integer iR = 2 f = Cells(iR - 1, 2) + Cells(iR, 2) Do While (f < 1000) iR = iR + 1 Cells(iR, 2) = f f = Cells(iR - 1, 2) + Cells(iR, 2) Loop End Sub 別解 平成26年度都市環境学科Visualプログラミング 練習問題(3) 28 Oct., '14 ブックdr28Oct14-3.xlsmのセ ル範囲"B1:B20"(図の赤 枠内)には,すべて何らかの 文字列が記されている.こ れらの文字列のうち,数値 情報のみの合計をセル "B21"のに書き出すプログ ラムを作成しなさい.ただし, 数値に変換できない情報に ついては,その文字列の色 を赤くしなさい.プロシー ジャ名は,isNumberとする. 平成26年度都市環境学科Visualプログラミング 29 練習問題(3)-解答 28 Oct., '14 Sub sumNumber() Const NR As Integer = 20 Dim iR As Integer Dim vv As Variant Dim sum As Double sum = 0 For iR = 1 To NR vv = Cells(iR, 2).Value If (IsNumeric(vv)) Then sum = sum + Val(vv) Else Cells(iR, 2).Font _ .ColorIndex = 3 End If Next iR Cells(NR + 1, 2).Value = sum End Sub 平成26年度都市環境学科Visualプログラミング 30 練習問題(4) 28 Oct., '14 ブックdr12Nov13-3.xlsmに,下記の指示にした がって,右図のとおりの表示をさせるプログラム を作成しなさい.プロシージャ名はformatとする. (1) A列の列幅を25とする. (2) Double型の変数numに円周率の値を記憶 させ,セル範囲"A1:A4"に表示させる. (3) セル"A2"を常に小数第20位まで表示させ る. (4) セル"A3"を末尾のゼロを除いて,小数第 20位までの範囲を表示させる. (5) セル"A4"を,仮数部を小数第15位まで浮 動小数点形式で表示させる. (6)変数numを,小数第3位で四捨五入し,その 値をセル範囲"A5:A6"に表示させる. (7) セル"A6"を常に小数第20位まで表示させ る. 平成26年度都市環境学科Visualプログラミング 練習問題(4)-解答 28 Oct., '14 Sub format() Dim num As Double num = 4 * Atn(1) Columns(1).ColumnWidth = 25 Range("A1") = num Range("A2") = num Range("A2").NumberFormatLocal = _ "0.00000000000000000000" Range("A3") = num Range("A3").NumberFormatLocal = _ "0.####################" Range("A4") = num Range("A4").NumberFormatLocal = _ "0.000000000000000e+00" num = Round(num, 2) Range("A5") = num Range("A6") = num Range("A6").NumberFormatLocal = _ "0.00000000000000000000" End Sub 平成26年度都市環境学科Visualプログラミング
© Copyright 2024 ExpyDoc