【Excel/VBA】合成抵抗の計算

ExcelのVBA(マクロ)で、合成抵抗を計算する方法についてまとめました。

【合成抵抗の計算①】同じ抵抗値を○直列○並列で接続した場合

同じ抵抗値を○直列○並列で接続した場合の計算例は以下の通りです。

Function calcRx(ByVal R As Double, ByVal num_series As Integer, ByVal num_parallel As Integer) As Variant
    Dim invRx As Double
    Dim i As Integer

    ' 並列分の計算(1/R1 + 1/R2 + ...)
    For i = 0 To num_parallel - 1
        invRx = invRx + 1 / R
    Next i
    
    ' 直列分を計算し逆数を返す(1/R)
    calcRx = (1 / invRx) * num_series
    
End Function

Sub macro()
    ' 抵抗1つの抵抗値
    Dim R As Double
    R = 10
    MsgBox "1直列1並列=" & calcRx(R, 1, 1) ' 10
    MsgBox "1直列2並列=" & calcRx(R, 1, 2) ' 5
    MsgBox "2直列1並列=" & calcRx(R, 2, 1) ' 20
    MsgBox "2直列2並列=" & calcRx(R, 2, 2) ' 10
End Sub 
関連記事
1 【VBA入門】Excelマクロで仕事・作業を自動化
Excel/VBA
技術雑記

コメント

タイトルとURLをコピーしました