平方根を自力で計算するアルゴリズム(筆算と同じように1桁ずつ求める方法)を勉強するため、VBAで平方根を計算するプログラムを作成しました。
このプログラムでは、数値を入力すると小数点以下へ向けて1桁ずつ近似値を計算し、その結果と2乗した値をイミディエイトウィンドウに出力します。
VBAコード
Sub Sql11_VBA()
Dim k As Integer
Dim a As Double ' 平方根を求めたい数値
Dim d As Double
Dim r As Double ' 近似値
Do While (1)
a = 1.1
a = CDbl(InputBox("正の数を入力してください (0入力で終了)"))
' 0の場合またはキャンセル時は終了
If a <= 0# Then Exit Do
Debug.Print a & " の平方根"
Debug.Print "近似値 近似値の2乗"
d = 1#
r = 0
For k = 1 To 10
Do While (r * r <= a)
r = r + d
Loop
r = r - d
Debug.Print Format(r, "0.0000000000") & " " & Format((r * r), "0.0000000000")
d = d / 10#
Next k
Loop
End Sub
実行例(2.0を入力した場合)
数値を 2.0 として実行した場合、イミディエイトウィンドウには次のような計算経過が出力されます。
2の平方根
近似値 近似値の2条
1.0000000000 1.0000000000
1.4000000000 1.9600000000
1.4100000000 1.9881000000
1.4140000000 1.9993960000
1.4142000000 1.9999616400
1.4142100000 1.9999899241
1.4142130000 1.9999984094
1.4142135000 1.9999998236
1.4142135600 1.9999999933
1.4142135620 1.9999999989
使い方とポイント
Excelの標準関数(SQR関数)を使えば一瞬で平方根を求めることができますが、このようにアルゴリズムをコードで実装してみることで、数値計算の仕組みをより深く理解することができます。
この記事の更新履歴
この記事は、生成AIを活用した自動レビュー・更新フローにより内容を見直し、必要な修正を反映しています。
2026年9月12日
- 削除リンク切れとなっている古い外部参考URLを削除しました。
- 追加VBAマクロの実行手順と期待される出力結果の解説を追加しました。
