覚え書き
'新定率法による償却限度額計算
' by ugnag
Public Function 償却限度額算出(取得価額, _
償却率, _
初年度月数, _
償却保証率, _
改訂償却率, _
年数)
Dim 期首簿価 As Long
Dim 期末簿価 As Long
Dim 調整前償却額 As Long
Dim 償却保証額 As Long
Dim 計算中年度 As Integer
Dim 改訂取得額 As Long
Dim 償却限度額 As Long
償却保証額 = Int(取得価額 * 償却保証率)
If 償却保証額 <= 0 Then
償却限度額算出 = 0
Exit Function
End If
改訂取得額 = -1
期首簿価 = 取得価額
For 計算中年度 = 1 To 年数
調整前償却額 = Int(期首簿価 * 償却率)
If 改訂取得額 < 0 Then
If 調整前償却額 < 償却保証額 Then
改訂取得額 = 期首簿価
End If
End If
If 0 <= 改訂取得額 Then
償却限度額 = Int(改訂取得額 * 改訂償却率)
If 期首簿価 - 償却限度額 < 1 Then
償却限度額 = 期首簿価 - 1
End If
Else
If 計算中年度 = 1 Then
償却限度額 = Int(調整前償却額 * 初年度月数 / 12)
Else
償却限度額 = 調整前償却額
End If
End If
期末簿価 = 期首簿価 - 償却限度額
期首簿価 = 期末簿価
Next 計算中年度
償却限度額算出 = 償却限度額
End Function
' by ugnag
Public Function 償却限度額算出(取得価額, _
償却率, _
初年度月数, _
償却保証率, _
改訂償却率, _
年数)
Dim 期首簿価 As Long
Dim 期末簿価 As Long
Dim 調整前償却額 As Long
Dim 償却保証額 As Long
Dim 計算中年度 As Integer
Dim 改訂取得額 As Long
Dim 償却限度額 As Long
償却保証額 = Int(取得価額 * 償却保証率)
If 償却保証額 <= 0 Then
償却限度額算出 = 0
Exit Function
End If
改訂取得額 = -1
期首簿価 = 取得価額
For 計算中年度 = 1 To 年数
調整前償却額 = Int(期首簿価 * 償却率)
If 改訂取得額 < 0 Then
If 調整前償却額 < 償却保証額 Then
改訂取得額 = 期首簿価
End If
End If
If 0 <= 改訂取得額 Then
償却限度額 = Int(改訂取得額 * 改訂償却率)
If 期首簿価 - 償却限度額 < 1 Then
償却限度額 = 期首簿価 - 1
End If
Else
If 計算中年度 = 1 Then
償却限度額 = Int(調整前償却額 * 初年度月数 / 12)
Else
償却限度額 = 調整前償却額
End If
End If
期末簿価 = 期首簿価 - 償却限度額
期首簿価 = 期末簿価
Next 計算中年度
償却限度額算出 = 償却限度額
End Function
その他(独り言) | comments (3) | -
Comments
急がしそうですね
新PCEのイメージ公開は反応少ないからないんですよね。。。
まあ、まったりと完成待ちます
がんばってください
それもありますが、出来て無いからと理由の方が大きいですね(^^;
コードインポーターが出来たら、テスト版でも公開します。
「へえ、そんなになったか」
と思ってトップページを見たら、30001人目getしました!!