AIに「減価償却計算をVBAでプログラミングしてください 」として要求した結果が以下の通りのプログラミングの内容です。今ではプログラミングは無料で使えるAIが十分に人間の肩代わりをしてくれます。
人間は結果を見て評価し必要に応じてカスタマイズをすればよい程度で済みます。
このようにAIは人間の業務を代行してくれますので人間が本来注力すべき業務に対して多くの時間をつくりだすことができます。
Option Explicit
Sub 定率法による償却額計算()
'■変数宣言
Dim i As Long
Dim j As Long
Dim lastyear As Long
Dim kaiteisyutoku As Range
'耐用年数
lastyear = Range("C6").Value
'前回の計算結果のクリア
With Range("B13").CurrentRegion.Offset(1, 0)
.ClearContents
.ClearFormats
End With
'エラー処理(取得価額か耐用年数がブランクの場合)
If Range("C5").Value = "" Or Range("C6").Value = "" Then
MsgBox "計算に必要なデータが入力されていません。" & vbCrLf & _
"取得価額と耐用年数を入力してください。", vbExclamation
Exit Sub
End If
'年数の記載
For i = 1 To lastyear + 1
Cells(i + 13, 2).Value = i
Next i
'初年度の償却額計算実行
Range("C14").Value = Range("C5").Value
Range("D14").Value = Range("C5") * Range("C7") * Range("C8") / 12
Range("E14").Value = Range("C14") - Range("D14")
'2年目以降の償却額計算実行
For i = 1 To lastyear
If Cells(i + 13, 5).Value * Range("C7").Value >= Range("C11").Value Then
'通常の償却の場合
Cells(i + 14, 3).Value = Cells(i + 13, 5).Value
Cells(i + 14, 4).Value = Cells(i + 13, 5).Value * Range("C7").Value
Cells(i + 14, 5).Value = Cells(i + 14, 3).Value - Cells(i + 14, 4).Value
Else
'改訂償却に該当する場合
Cells(i + 14, 3).Value = Cells(i + 13, 5).Value
j = j + 1
Set kaiteisyutoku = Cells(i + 14, 3).Offset(-j, 2)
Cells(i + 14, 4).Value = Application.WorksheetFunction.Min(Cells(i + 14, 4).Offset(-1, 1) - 1, kaiteisyutoku.Value * Range("C9").Value)
Cells(i + 14, 5).Value = Cells(i + 14, 3).Value - Cells(i + 14, 4).Value
End If
Next i
'計算結果を桁区切りして罫線作成
With Range("B13").CurrentRegion
.NumberFormatLocal = "#,##0"
.Borders.LineStyle = xlContinuous
End With
End Sub