VBAのSLN関数について解説しています。
SLN関数は、VBA関数の中で財務関数に分類される関数です。
SLN関数は、倍精度浮動小数点数型 (Double) の値を返します。定額法を用いて、資産の 1 期当たりの減価償却費を返します。
構文 | SLN(cost, salvage, life) | |
---|---|---|
引数 | 省略 | 説明 |
cost | × | 資産を購入した時点での価格を示す倍精度浮動小数点数型 (Double) 値を指定します。 |
salvage | × | 毎回の支払額を示す倍精度浮動小数点数型 (Double) の値を指定します。支払額には通常、元金と利息が含まれ、支払額を投資期間内に変更することはできません。 |
life | × | 耐用年数を経た後での資産の価格を示す倍精度浮動小数点数型 (Double) の値を指定します。 |
減価償却の期間は、引数 life と同じ単位で表されます。また、すべての引数には必ず正の値を指定してください。
次の例は、資産 1 期当たりの減価償却費を、定額法を使って SLN 関数で計算します。資産購入時の価格 (InitCost)、耐用年数を経た後での資産の価格 (SalvageVal)、資産の耐用年数 (LifeTime) を指定します。
Sub sample()
Dim Fmt, InitCost, SalvageVal, MonthLife, LifeTime, PDepr
Const YEARMONTHS = 12 ' 1 年の月数を設定します。
Fmt = "###,##0.00" ' 金額の形式を定義します。
InitCost = InputBox("資産購入時の価格を入力してください。")
SalvageVal = InputBox("耐用期間を経た後の資産の価格を入力してください。")
MonthLife = InputBox("資産の耐用期間を月数で入力してください。")
Do While MonthLife < YEARMONTHS ' 期間が 1 年以上かどうかを確認します。
MsgBox "資産の耐用期間は 1 年以上です。"
MonthLife = InputBox("資産の耐用期間を月数で入力してください。")
Loop
LifeTime = MonthLife / YEARMONTHS ' 月数を年数に変換します。
If LifeTime <> Int(MonthLife / YEARMONTHS) Then
LifeTime = Int(LifeTime + 1) ' 年数を切り上げます。
End If
PDepr = SLN(InitCost, SalvageVal, LifeTime)
MsgBox "減価償却費は " & Format(PDepr, Fmt) & " /年です。"
End Sub
※ドラッグ(スワイプ)すると全体を確認できます。
関数名 | 内容 |
---|---|
DDB | 倍率法による指定した期間の資産原価償却額を算出します。 |
FV | 定額定利の定期支払いでの投資の将来価値を算出します。 |
IPmt | 定額定利の定期支払いで投資期間内の指定した期における金利を算出します。 |
IRR | 指定したキャッシュフローに対する内部利率を算出します。 |
MIRR | 指定したキャッシュフローに対する修正内部利率を算出します。 |
NPer | 定額定利の定期支払いで総額の支払いに必要な支払回数を算出します。 |
NPV | 投資の正味現在価値を算出します。 |
Pmt | 定額定利の定期支払いでの投資の将来価値を算出します。投資に必要な定期支払額を算出します。 |
PPmt | 定額定利の定期支払いでの特定の期間における元金を算出します。 |
PV | 定額定利の定期支払いでの投資の現在価値を算出します。 |
Rate | 定額定利の定期支払いで将来価値を得るための利率を算出します。 |
SLN | 定額法での減価償却費を算出します。 |
SYD | 定額逓減法で指定した期の減価償却費を算出します。 |
↑ExcelのVBA全般について分からない事があればこちらの掲示板よりご質問ください。
VBAのIE操作入門↑ExcelのVBAをマスターできたら、エクセルVBAのIE操作にも挑戦してみてください。
こちらでは、エクセルVBAの事例で利用したステートメントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのプロパティをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのメソッドをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。
こちらでは、エクセルVBAの事例で利用したオブジェクトのイベントをまとめたものです。ExcelのVBAには様々な機能が用意されていますので一度ご確認ください。