この記事ではExcelでVBAマクロを使った2乗や3乗(累乗、べき乗)計算や指数表示E(10のべき乗)の設定方法について解説していきます。
ポイントとしては、Power関数、Exp関数を使用することです。
なお、下記の解説では完全な初心者でもわかりやすいようにあえて変数名を少々変わった名称にしております。そのため、あなた自身がご活用の際には、ここを適切な(英語表記でしっくりくるものが一般的)ものに変更してご活用くださいね。
それでは詳しく見ていきましょう!
VBAマクロでの2乗の計算方法【B列の2行目から最終行までに元の数値X記載で、隣のC列にXの2乗を出力させるサンプル】
それではまず、VBAマクロで2乗の計算方法について解説していきます。
B列の2行目から最終行までに元の数値X記載で、隣のC列にXの2乗を出力させるサンプルとなっております。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub NijouKeisan()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
Dim saigoGyou As Long
saigoGyou = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
Dim i As Long
For i = 2 To saigoGyou
ws.Cells(i, "C").Value = ws.Cells(i, "B").Value ^ 2
Next i
End Sub
コードのAlt+F8を押し、マクロ選択画面でNijouKeisan関数を実行します。
上述のようこのコードは、シート1のB列の2行目から最終行までの各セルの数値を2乗し、結果を隣のC列に出力します。
VBAマクロで3乗の計算方法【複数要素の配列があり各々の数値の3乗を格納させた新リストを作成する】
続いては、VBAマクロで3乗の計算方法について解説していきます。
上とは違い、ここでは配列(リスト)内の各要素を3乗し、その結果を新たな配列に格納する方法を見ていきます。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub SanjouKeisan()
Dim suuchiArray As Variant
suuchiArray = Array(1, 2, 3, 4, 5) ' 例として1から5までの数値
Dim kekkaArray() As Double
ReDim kekkaArray(LBound(suuchiArray) To UBound(suuchiArray))
Dim i As Integer
For i = LBound(suuchiArray) To UBound(suuchiArray)
kekkaArray(i) = suuchiArray(i) ^ 3
Next i
' 結果の出力(デバッグ用)
For i = LBound(kekkaArray) To UBound(kekkaArray)
Debug.Print kekkaArray(i)
Next i
End Sub
コードのAlt+F8を押し、マクロ選択画面でSanjouKeisan関数を実行します。
この関数は、指定された配列内の各数値を3乗し、結果を新しい配列に格納します。
VBAマクロで指数表記E(10のべき乗、累乗)の表示(書式設定)にする方法
最後に、VBAマクロで指数表記E(10のべき乗)の表示方法について解説していきます。
さらに、数値を変更するのではなく表示方法のみ&特定の列(ここではA列にしてみます)に対して指数形式(10の累乗、べき上表記:E)を設定する方法を紹介します。
Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。
Sub ShisuuHyoukiSetteiZenbu()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
Dim saigoGyou As Long
saigoGyou = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
Dim i As Long
For i = 1 To saigoGyou
ws.Cells(i, "A").NumberFormat = "0.00E+00"
Next i
End Sub
コードのAlt+F8を押し、マクロ選択画面でShisuuHyoukiSetteiZenbu関数を実行します。
この関数は、シート1のA列に存在するすべてのセルに対して、指数表記の数値フォーマットを設定します。
A列でなく、他の列を指定する場合は該当列名を入力すればOKですね。
なお、範囲指定したいケースでは、
Set hani = ws.Range(“A1:A10”)
などと適宜変更するといいですね。
まとめ VBAマクロで10の累乗、べき乗等の計算や指数表示Eの設定方法【Power, Exp関数など】
ここでは、VBAマクロで2乗や3乗(10の累乗、べき乗等)計算や指数表示Eの設定方法【Power, Exp関数など】について確認しました。
マクロの扱いに慣れ、さらに快適に過ごしていきましょう(^^)/