> 1個目のセルにはデータが記入されますが> 2個目以降は実行されず記入されません。
ここでの「実行されず記入されない」とはどのような現象を意味するのか、
どのような方法や手順によってその現象を検証されたのかについて
具体的に明記されることをお奨めします。
> Cells(Row, Col).Value = Income ' 記入できている> Cells(Row, Col + 1).Value = Expenses ' 実行されない> Cells(Row + 1, Col).Value = Balance ' 実行されない
・上記の 2 つめのステートメントが呼び出されようとした際に
実行時エラーが発生し、コードが中断される。
・あらかじめ E26, F26, および E27 セルの値をクリアしておき、
上記の 1 つめのステートメントをブレークポイントに設定した状態で
ステップイン実行を行ない、全てのステートメントが
(エラーが発生することなく)呼び出されたことを確認したが、
E26 セルの値のみが変更され、F26 セルおよび E27 セルの値が
空白のまま変更されていないという結果となっている。
・上記以外の状態。
少なくとも、そのマクロの基本的なフローに関しては
特に不具合をもたらすような点は見受けられません。
強いて不具合が発生する可能性のあるケースを挙げるとすれば、
> Dim Income, Expenses, Balance As Long
上記の変数については、Income と Expenses が(型指定を省略しているので) Variant 型、
Balance のみが Long 型として宣言されており、
> Income = WorksheetFunction.Sum(Range("E4:E25")) > Expenses = WorksheetFunction.Sum(Range("F4:F25")) > Balance = Income - Expenses
もし Income と Expenses の値の差が Long 型の値の範囲
( -2,147,483,648 ~ 2,147,483,647 )を超えていれば、
その結果を Balance に代入しようとした時点で
オーバーフローエラーが発生することになります。
しかし、
> 変数には代入できている。
ということであれば、実際の Income と Expenses の値の差は
Long 型の範囲内に収まっていると考えられます。
したがって、現時点ではそのマクロ以外の要因を疑うべきではないかと。