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
'■ 퇴근을 부르는 Excel > Excel VBA' 카테고리의 다른 글
[엑셀_VBA] 선택 영역 셀 값 쉼표(,)로 구분해 취합 후 복사하기 (0) | 2023.04.25 |
---|