| 
    
     |  | ▼きおら さん: 
 こんにちは
 
 >A列最終行セルからC列最終行セルの範囲内で中央揃えに
 
 の意味が分かりません。
 ひょっとしてセルを結合して中央揃えではないですか?
 
 > For i = 4 To 7
 > j = Application.Max(j, Cells(1048576, i).End(xlUp).Row + 1)
 > Next
 
 は何のために必要なのですか?
 D〜G列の各列の最下行の一つ下の行数を求めているようですが
 質問では「A列最終行セル」と言っているのでA列最終行セルの一つ下の行に
 「合計」という文言と、「合計式」をセットすればよいのではないですか?
 
 勝手に判断してコード化すると、
 
 Sub test()
 Dim sh As Worksheet
 Set sh = ThisWorkbook.Worksheets("申請")
 With sh.Range("A" & Rows.Count).End(xlUp).Offset(1)
 .Resize(, 3).Merge
 .Value = "合計"
 .HorizontalAlignment = xlCenter
 With .Offset(, 1)
 .Resize(, 4).Formula _
 = "=SUM(" & _
 sh.Range(.EntireColumn.Cells(2, 1), _
 .Offset(-1, 0)).Address(0, 0) & ")"
 .Offset(, 2).ClearContents
 End With
 End With
 End Sub
 
 こんな感じになります。
 
 
 |  |