1 偶数・奇数
【学習課題】任意の整数をセルB3に入力して、偶数か奇数のどちらであるか判別するマクロを作成しましょう。
-
基本技術と解決手順(日本語)
マクロ「偶数奇数」を開始する。
整数、余りの2つの変数を用意する。
セルB3の値を変数(整数)に代入する。
整数を2で割ったときのあまりを余りに代入する。
余りが0の時は
偶数という文字をセルC3に代入する。
それ以外の値の場合は
奇数という文字をセルC3に代入する。
条件処理を終了する。
マクロ「偶数奇数」を終了する。 -
コード化(マクロ)
Sub 偶数奇数()
Dim 整数, 余り As Integer
整数 = Range("B3").Value
余り = 整数 Mod 2
If 余り = 0 Then
Range("C3").Value = "偶数"
Else
Range("C3").Value = "奇数"
End If
End Sub
2 自然数の和
【学習課題】自然数1からN(セルC3)までの和を求めるマクロを作成しましょう。
-
基本技術と解決手順(日本語)
マクロ「自然数の和」を開始する。
変数(個数)を準備する。
変数(カウント)を準備する。
変数(和)を準備する。
セルB3の値を個数に代入する。
次をカウントの値1から個数の値まで繰り返す。
和の値にカウントの値を加えた値を和に代入する。
カウントの値を1増やして繰り返しの始めに戻る。
和の値をセルC3に代入する。
マクロ「自然数の和」を終了する。 -
コード化(マクロ)
Sub 自然数の和()
Dim 個数 As Integer
Dim カウント As Integer
Dim 和 As Integer
個数 = Range("B3").Value
For カウント = 1 To 個数
和 = 和 + カウント
Next カウント
Range("B2").Value = 和
End Sub
3 数列計算1
【学習課題】最初の数(セルC2)と個数(セルC3)を入力して、例のように数列の合計をセルC4に表すマクロを作成しましょう。
例 最初の数1 個数10 1+2+3+4+5+6+7+8+9+10=55
-
基本技術と解決手順(日本語)
マクロ「数列計算1」を開始する。
変数(最初,個数)を準備する。
変数(カウント)を準備する。
変数(合計)を準備する。
セルC2の値を最初に代入する。
セルC3の値を個数に代入する。
合計に0を代入する。
カウントの値1から個数の値まで繰り返す。
合計の値に1を加えた値を合計に代入する。
カウントの値を1増やして繰り返しの始めに戻る。
合計の値をセルC4に代入する。
マクロ「数列処理2」を終了する。 -
コード化(マクロ)
Sub 数列計算1()
Dim 個数 As Integer
Dim カウント As Integer
Dim 合計 As Integer
最初 = Range("C2")
個数 = Range("C3")
合計 = 0
For カウント = 1 To 個数
合計 = 合計 + 1
Next
Range("C4") = 合計
End Sub
4 数列計算2
【学習課題】入力された最初の数(セルC2)・等差(セルC3)・個数(セルC4)をもとに数列の合計をセルC5に表すマクロを作成しましょう。
例 最初の数1 等差3 個数10 1+4+7+10+13+16+19+22+25+28=145
-
基本技術と解決手順(日本語)
マクロ「数列計算2」を開始する。
変数(最初, 個数, 等差)を準備する。
変数(カウント)を準備する。
変数(合計)を準備する。
セルC2の値を最初に代入する。
セルC3の値を等差に代入する。
セルC4の値を個数に代入する。
合計に0を代入する。
カウントの値1から個数の値まで繰り返す。
合計の値に最初を加えた値とカウントから1引
いた値に等差かけた値を合計に代入する。
カウントの値を1増やして繰り返しの始めに戻る。
合計の値をセルC5に代入する。
マクロ「数列処理2」を終了する。 -
コード化(マクロ)
Sub 数列計算2()
Dim 最初, 個数, 等差 As Integer
Dim カウント As Integer
Dim 合計 As Integer
最初 = Range("C2")
等差 = Range("C3")
個数 = Range("C4")
合計 = 0
For カウント = 1 To 個数
合計 = 合計 + 最初 + (カウント - 1) * 等差
Next カウント
Range("C5") = 合計
End Sub
5 素数
【学習課題】セルB3に入力した数について、素数かどうか判定してセルC3に表すマクロを作成しましょう。
-
基本技術と解決手順(日本語)
マクロ「素数判定」を開始する。
変数(ある数,I)を準備する。
変数(判定)を準備する。
セルB3の値を変数(ある数)に代入する。
変数(判定)に0を代入する。
Iが2からある数から1引いた数まで繰り返す。
もし、ある数をIで割ったあまりが0の時、判定に1を 代入する。
Iから1引いて戻る。
もし、判定が0の時は
セルC3に素数という文字を代入する。
このこと以外の場合には
セルC3に合成数という文字を代入する。
条件処理を終わります。
マクロ「素数判定」を終了する。 -
コード化(マクロ)
Sub 素数判定()
Dim ある数 As Long
Dim 判定 As Integer
ある数 = Range("B3")
判定 = 0
For I = 2 To ある数 - 1
If ある数 Mod I = 0 Then 判定 = 1
Next I
If 判定 = 0 Then
Range("C3") = "素数"
Else
Range("C3") = "合成数"
End If
End Sub
6 最大公約数
【学習課題】セルC2とセルC3の2数の最大公約数をセルC4に表すマクロを作成しましょう。
-
基本技術と解決手順(日本語)
マクロ「最大公約数」を開始する。
変数(数1, 数2)を準備する。
変数(余り)を準備する。
セルB1の値を数1に代入する。
セルB2の値を数2に代入する。
以下の式の実行を繰り返する。
数1を数2で割ったときのあまりを余りに代入する
数2を数1に代入する。
余りを数2に代入する。
余りが0でない場合は繰り返す。
セルB3に数1を代入する。
マクロ「最大公約数」を終了する。 -
コード化(マクロ)
Sub 最大公約数()
Dim 数1, 数2 As Long
Dim 余り As Long
数1 = Range("B1")
数2 = Range("B2")
Do
余り = 数1 Mod 数2
数1 = 数2
数2 = 余り
Loop While 余り <> 0
Range("B3") = 数1
End Sub
7 最小公倍数
【学習課題】セルC2とセルC3の2数の最小公倍数をセルC4に表すマクロを作成しましょう。
-
基本技術と解決手順(日本語)
マクロ「最大公約数」を開始する。
変数(数1, 数2)を準備する。
変数(余り)を準備する。
変数(余り)を準備する。
セルC2の値を数1に代入する。
セルC3の値を数2に代入する。
以下の式の実行を繰り返す。
数1を数2で割ったときのあまりを余りに代入する
数2を数1に代入する。
余りを数2に代入する。
余りが0でない場合は繰り返す。
セルC2を数1で割った値にセルC3をかけた値をセルC4に代入する。
マクロ「最大公約数」を終了する。 -
コード化(マクロ)
Sub 最小公倍数()
Dim 数1, 数2 As Long
Dim 余り As Long
数1 = Range("C2")
数2 = Range("C3")
Do
余り = 数1 Mod 数2
数1 = 数2
数2 = 余り
Loop While 余り <> 0
Range("C4") = Range("C2") / 数1 *
Range("C3")
End Sub