| 
    
     |  | ▼桃園 さん: 
 まだ要件がクリアには理解できていないところもあるかもです。
 A列には、何かしらの値があると決めつけています。
 
 Private Sub CommandButton1_Click()
 Dim z As Long
 
 If Range("AK11") <> 1 Then
 MsgBox "内訳がありません。", vbCritical, "エラー"
 Exit Sub
 End If
 
 Application.ScreenUpdating = False
 
 With Sheets("Sheet2")
 z = .Range("A" & .Rows.Count).End(xlUp).Row + 1
 If z < 9 Then
 z = 9
 Else
 If z Mod 2 = 0 Then z = z + 1
 End If
 With .Rows(z).Resize(2).Columns("A:W")
 .MergeCells = False   'いったん解除。念のため
 .Value = Range("A49:W50").Value
 With .Range("A1:G2,H1:J2,K1:N2,O1:Q2,R1:T1,R2:T2")
 .VerticalAlignment = xlCenter
 .Orientation = 0
 .AddIndent = False
 .ShrinkToFit = False
 .ReadingOrder = xlContext
 Application.DisplayAlerts = False '念のため
 .Merge
 Application.DisplayAlerts = True
 End With
 .Range("V1:V2").NumberFormatLocal = "yyyy""年""m""月"";@"
 End With
 .Select
 End With
 
 Application.ScreenUpdating = True
 
 MsgBox "完了", vbOKOnly, "確認"
 End Sub
 
 
 |  |