Range 개체

Insert 메서드

노만e 2025. 3. 11. 06:12

엑셀 VBA에서 Insert 메서드는 셀, 행, 열, 시트, 워크북 등의 항목을 삽입할 때 사용됩니다.

즉, 특정 위치에 새로운 데이터나 구조를 추가할 수 있습니다.


1. 기본 문법

Range("셀 범위").Insert(Shift:=xlShiftDown 또는 xlShiftToRight, CopyOrigin:=xlFormatFromLeftOrAbove)
  • Shift (선택 사항): 삽입된 셀로 인해 기존 셀이 이동하는 방향을 지정
  • xlShiftDown → 아래로 이동
  • xlShiftToRight → 오른쪽으로 이동
  • CopyOrigin (선택 사항): 삽입된 셀의 서식을 어디에서 복사할지 지정
  • xlFormatFromLeftOrAbove → 왼쪽 또는 위쪽 셀의 서식 유지
  • xlFormatFromRightOrBelow → 오른쪽 또는 아래쪽 셀의 서식 유지

2. 셀 삽입

📌 기존 셀을 아래로 이동하여 새 셀 삽입

Sub 셀_아래로_이동_삽입()
Range("A1").Insert Shift:=xlShiftDown
End Sub

📌 A1에 새 셀을 삽입하고 기존 데이터를 아래로 이동


📌 기존 셀을 오른쪽으로 이동하여 새 셀 삽입

Sub 셀_오른쪽으로_이동_삽입()
Range("B2").Insert Shift:=xlShiftToRight
End Sub

📌 B2에 새 셀을 삽입하고 기존 데이터를 오른쪽으로 이동


3. 행 삽입

📌 특정 행 위에 새 행 삽입

Sub 행_삽입()
Rows(3).Insert Shift:=xlDown
End Sub

📌 3행을 위로 밀어내고 새로운 행 삽입


📌 연속된 여러 행 삽입

Sub 여러_행_삽입()
Rows("2:4").Insert Shift:=xlDown
End Sub

📌 2~4행을 위로 밀어내고 새 행 삽입


📌 사용된 마지막 행 위에 새 행 삽입

Sub 마지막_행_위에_삽입()
Dim lastRow As Long
lastRow = Cells(Rows.Count, 1).End(xlUp).Row ' A열에서 마지막 사용된 행 찾기
Rows(lastRow).Insert Shift:=xlDown
End Sub

📌 A열의 마지막 사용된 행 바로 위에 새 행 삽입


4. 열 삽입

📌 특정 열 왼쪽에 새 열 삽입

Sub 열_삽입()
Columns(2).Insert Shift:=xlToRight
End Sub

📌 B열을 오른쪽으로 밀어내고 새로운 열 삽입


📌 여러 개의 열 삽입

Sub 여러_열_삽입()
Columns("B:D").Insert Shift:=xlToRight
End Sub

📌 B~D열을 오른쪽으로 이동하여 새 열 삽입


📌 마지막 사용된 열 오른쪽에 새 열 삽입

Sub 마지막_열_삽입()
Dim lastCol As Long
lastCol = Cells(1, Columns.Count).End(xlToLeft).Column ' 1행에서 마지막 사용된 열 찾기
Columns(lastCol + 1).Insert Shift:=xlToRight
End Sub

📌 마지막 데이터가 있는 열의 오른쪽에 새 열 삽입


5. 삽입과 데이터 자동 정렬

📌 새 행을 삽입하고 데이터 정렬

Sub 행_삽입_정렬()
Rows(2).Insert Shift:=xlDown
Range("A1:A10").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlNo
End Sub

📌 2행에 새 행 삽입 후 A1:A10을 정렬


6. 복사하여 삽입

📌 A1:A5를 복사하여 A6에 삽입

Sub 복사하여_삽입()
Range("A1:A5").Copy
Range("A6").Insert Shift:=xlDown
End Sub

📌 A1:A5를 복사하여 A6에 삽입 (기존 데이터는 아래로 이동)


📌 B열을 복사하여 C열에 삽입

Sub 열_복사_삽입()
Columns("B").Copy
Columns("C").Insert Shift:=xlToRight
End Sub

📌 B열을 복사하여 C열에 삽입


📝 정리

기능
VBA 코드
셀 삽입 (아래로 이동)
Range("A1").Insert Shift:=xlShiftDown
셀 삽입 (오른쪽으로 이동)
Range("B2").Insert Shift:=xlShiftToRight
행 삽입
Rows(3).Insert Shift:=xlDown
여러 행 삽입
Rows("2:4").Insert Shift:=xlDown
마지막 행 위에 삽입
Rows(lastRow).Insert Shift:=xlDown
열 삽입
Columns(2).Insert Shift:=xlToRight
여러 열 삽입
Columns("B:D").Insert Shift:=xlToRight
마지막 열 오른쪽에 삽입
Columns(lastCol + 1).Insert Shift:=xlToRight
테이블에 행 삽입
tbl.ListRows.Add AlwaysInsert:=True
복사하여 삽입 (셀)
Range("A1:A5").Copy : Range("A6").Insert Shift:=xlDown
복사하여 삽입 (열)
Columns("B").Copy : Columns("C").Insert Shift:=xlToRight

🔥 VBA의 Insert를 활용하면 데이터를 효율적으로 추가하고 조작할 수 있습니다! 🚀