[엑셀_VBA] 행 지정 범위 복사 후 아래 행에 붙여 넣기 반복하는 코드 :: 영혼이 쉬어가는 그늘
728x90

[ 예제 표 ]

Before After (실행 버튼 클릭 후)

위 사진과 같이 A3:D3, A7:D7, A11:D11, A19:D19의 셀을 복사하여 그 아래 세 개의 행에 붙여 넣기 하려고 한다.

 

[ 조건 ]

조건 1 : 복사할 영역(A3:D3, A7:D7, A11:D11, A19:D19)은 간격이 일정하며 붙여 넣기 할 행의 수도 일정하다.

조건 2 : 복사할 영역은 변경 될 수도 있고(예를 들어 A3:D3을 B3:D3이나 A3:F3과 같이) 붙여 넣기 할 행의 수와 반복할

             횟수도 변경 될 수 있다.

 

[ 사용 코드 ]

Sub 영역_복사붙여넣기_반복_매크로()

Dim rngCnt As Integer
Dim reCnt As Integer
Dim refRng As Range
Dim i As Integer

rngCnt = 3 '<- 복사할 행 갯수'
reCnt = 4 '<- 반복할 횟수'
Set refRng = Range("A3:D3") '<- 기준이 되는 범위'

Application.ScreenUpdating = False

With refRng
    For i = 0 To reCnt
        .Offset((i * rngCnt) + i).Copy
        .Offset((i * rngCnt) + (i + 1)).Resize(rngCnt).PasteSpecial
        Application.CutCopyMode = False
    Next
End With

End Sub

변수 rngCnt의 값으로 복사할 행의 개수를 설정할 수 있다.

변수 reCnt의 값으로 반복할 횟수를 설정 할 수 있다.

변수 refRng = Range의 셀 주소를 변경하면 그 영역을 기준으로 복사 붙여 넣기를 반복한다.

 

[ 예제 파일 ]

해당 파일은 매크로 사용 워크시트(.xlsm) 파일이므로 처음 실행 시, 콘텐츠 사용 버튼을 눌러야 매크로가 정상 동작 합니다.

 

행 복사 후 아래 행에 붙여넣기 반복 작업 매크로.xlsm
0.02MB

 

 

 

< 필요한 엑셀 양식이나 매크로가 있다면 메일(soulrests@naver.com)로 문의 주시면 최대한 도와드리겠습니다^^ >

728x90

+ Recent posts