본문 바로가기
만드는 이야기/VBA

vba자작) 월마감 집계표

by LillyLt 2014. 3. 7.

Sub 집계표_자동화1()


    Check_Msg = MsgBox("매출이 아닌가요?", vbYesNoCancel)

    

    If Check_Msg = vbCancel Then Exit Sub


        Do While Selection.Range("B1").FormulaR1C1 <> ""

        

            With Selection

            Debug.Print .Range("B1").Address, .Address

        'Do While .Offset(0, 1).FormulaR1C1 <> ""

            'Font_ReSet

            'Debug.Print .Range("A1:J1").Address, .Address

            '.Range("A1:J1").ClearFormats

            Debug.Print .Range("B1:H1").Address, .Address

            .Range("B1:H1").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

            Debug.Print .Range("B3:H3").Address, .Address

            .Range("B3:H3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

            Debug.Print

            .Range("B2").Copy .Range("B1:B3") '날자 복사

            Debug.Print .Range("E2").Address, .Address

            .Range("E2").Copy .Range("E1:E3") '거래처 복사

            Debug.Print

            Range("C1:D1").Copy .Range("C1:C1") '계정과목 복사

            Debug.Print Range("C2:D2").Address, .Address

            Range("C2:D2").Copy .Range("C3:C3") '적요1 복사            

            

            Select Case Check_Msg

                Case vbNo

                    .Range("H2").Cut .Range("G1")

                    .Range("G2").Cut .Range("F3")

                Case vbYes

                    .Range("H2").Cut .Range("F1")

                    .Range("G2").Cut .Range("G3")

                    .Range("F2").Cut .Range("G2")

            End Select

            Debug.Print

            .Range("E1:G3").Cut .Range("F1")


            Debug.Print

            .Range("I1:I3").FormulaR1C1 = "=R[-1]C+RC[-2]-RC[-1]"

            Debug.Print

            .Range("A1:A3").FormulaR1C1 = "=R[-1]C+1"

            Debug.Print

            Range("E1").Copy .Range("E1:E3")

            Debug.Print .Offset(3, 0).Address

            .Offset(3, 0).Select

            End With

        Loop

    

End Sub