Excel

【Excel】VBAマクロで累乗・べき乗(10や2の累乗・指数表記)の計算・表示方法【WorksheetFunction.Power, Format関数】

当サイトでは記事内に広告を含みます。

この記事では、ExcelのVBAマクロを使用して、累乗やべき乗の計算や指数Eの表示にする方法(10の累乗や2の累乗など)について解説していきます。

ポイントとしては、

WorksheetFunction.PowerやFormat関数

を使用することです。

マクロ初心者でもわかりやすいように、変数名を「aaaaa変数aaaaa」といった名称にしています。そのため、ご活用の際には、これを適切な名前に変更してご利用ください。

それでは、詳しく見ていきましょう!

 

VBAマクロで累乗・べき乗の計算する方法【10の累乗を例に】

それではまず、10の累乗の計算方法について解説していきます。

この方法では、Excelシート上の特定の列に記載された数値を基に、10のべき乗を計算して隣のセルに結果を表示します。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。

Sub CalculatePowerOfTen()
    Dim aaaaarowIndexaaaa As Long
    Dim aaaaalastRowaaaa As Long
    aaaaalastRowaaaa = Cells(Rows.Count, "A").End(xlUp).Row ' "A"列で最後の行を探す
    
    ' 2行目から最終行までループ
    For aaaaarowIndexaaaa = 2 To aaaaalastRowaaaa
        ' 10の累乗を計算し、隣のセルに結果を格納
        Cells(aaaaarowIndexaaaa, "B").Value = 10 ^ Cells(aaaaarowIndexaaaa, "A").Value
    Next aaaaarowIndexaaaa
End Sub

コードのAlt+F8を押し、マクロ選択画面でCalculatePowerOfTen関数を実行します。

このコードでは、最初にシートのA列2行目からその最終行までの各セルについて、隣のB列に10の累乗の結果を出力するものになっています。

【使用の関数:WorksheetFunction.Power】

 

VBAマクロで累乗・べき乗(2の累乗を例)の計算する方法

続いては、2の累乗の計算方法について解説していきます。ここではWorksheetFunctionを使用して、より一般的なアプローチを紹介します。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。

Sub CalculatePowerOfTwo()
    Dim aaaaarowIndexaaaa As Long
    Dim aaaaalastRowaaaa As Long
    aaaaalastRowaaaa = Cells(Rows.Count, "C").End(xlUp).Row ' "C"列で最後の行を探す
    
    ' 2行目から最終行までループ
    For aaaaarowIndexaaaa = 2 To aaaaalastRowaaaa
        ' 2の累乗をWorksheetFunctionを使って計算し、隣のセルに結果を格納
        Cells(aaaaarowIndexaaaa, "D").Value = WorksheetFunction.Power(2, Cells(aaaaarowIndexaaaa, "C").Value)
    Next aaaaarowIndexaaaa
End Sub

 

コードのAlt+F8を押し、マクロ選択画面でCalculatePowerOfTwo関数を実行します。

このコードでは、C列にある数値を基に、2のべき乗を計算し、その結果をD列に出力するコードとなっています。

 

VBAマクロで10の累乗を使った表示に変換する方法【指数E】

最後に、VBAマクロを使って、計算結果を10の累乗を使った指数表記(Eを使ったもの)で表示する方法について解説します。

Alt + F11にてVBE画面を開いて、以下コードをコピペしましょう。

Sub ConvertToExponentialFormat()
    Dim aaaaarowIndexaaaa As Long
    Dim aaaaalastRowaaaa As Long
    aaaaalastRowaaaa = Cells(Rows.Count, "E").End(xlUp).Row ' "E"列で最後の行を探す
    
    ' 2行目から最終行までループ
    For aaaaarowIndexaaaa = 2 To aaaaalastRowaaaa
        ' 計算結果を指数表記で表示
        Cells(aaaaarowIndexaaaa, "F").Value = Format(Cells(aaaaarowIndexaaaa, "E").Value, "0.00E+00")
    Next aaaaarowIndexaaaa
End Sub

 

コードのAlt+F8を押し、マクロ選択画面でConvertToExponentialFormat関数を実行します。

このコードでは、E列にある数値を指数表記(例えば、E+01といったもの)でF列に表示します。

Format関数を使用して、数値を「0.00E+00」という形式の文字列に変換しています。この形式では、小数点以下2桁を保持しつつ、指数部をEで表現します。

【使用関数:Format関数】

 

まとめ VBAマクロで累乗・べき乗(10や2の累乗・指数表記)の計算・表示方法【WorksheetFunction.Power, Format関数】

この記事を通じて、Excel VBAを用いた累乗・べき乗の計算方法や指数表記Eへの変換方法を確認しました。

VBAの扱いに慣れ、さらに快適な生活を送っていきましょう。