본문 바로가기
IT 이모저모/VBA

VBA(엑셀 매크로) 행/열/셀 추가, 삽입 (Insert메소드)

by 내일은맑음 2021. 1. 30.
반응형

행 또는 열을 새롭게 삽입해야하는 경우가 있다. 그럴 경우 Insert메소드를 이용하면

삽입이 가능하다.

 

Insert메소드의 구조를 알아보고 예제를 보도록 하겠다.

행열 삭제에 대해서는 아래의 링크 참고

2021/01/31 - [IT 이모저모/VBA] - VBA(엑셀 매크로) 행/열 삭제(Delete메소드)

 

Insert 메소드의 구조

Object.Insert (Shift, CopyOrigin)

 

Object : Range 개체

Shift : 삽입 후 셀 이동 방향을 지정합니다.
아래로 이동 (xlShiftDown) 오른쪽으로 이동 (xlShiftToRight) [선택 사항]

CopyOrigin : 원본을 지정(옵션)

 

인수 Shift 키를 생략하면 삽입 대상이되는 셀 범위의 형태에 따라 자동으로 이동하는 방향을 결정합니다.

(행을 추가하는 경우 기존의 행을 아래로 내리고 열을 추가하는 경우 기존의 열을 오른쪽으로 이동)
대상이 행 / 열 이외의 경우는 특히 인수 Shift 생략하지 않는 것이 좋습니다.

 

Insert 메소드의 예제

첫번째로 행을 추가하는 예제를 보고 두번째로 열을 추가하는 예제를 보도록 하겠다.

마지막으로 특정 셀 위치에 새로운 셀을 추가하는 방법을 보도록 하겠다.

 

1. 3번째 행에 새로운 행 삽입

Sub Test1()
  Rows(3).Insert
End Sub

위 소스의 실행 전 화면

소스를 실행 후

위 결과는 아래의 소스로도 같은 결과를 얻을 수 있다.

Sub Test2()
  Range("A3").EntireRow.Insert
End Sub

A3가 있는 행에 새로운 행을 추가하고 기존의 행을 아래로 내린다.

 

2. 2번쨰 열에 새로운 열 삽입

Sub Test3()
  Columns(2).Insert
End Sub

Sub Test4()
  Range("B1").EntireColumn.Insert
End Sub

Test3(), Test4() 모두 2번째 열에 새로운 열을 추가하는 소스이다.

결과는 아래와 같다.

 

실행 전

실행 후

3. 특정 셀 위치에 새로운 셀 삽입

B2셀에 새로운 내용을 삽입하고 기존의 셀은 오른쪽으로 옮기는 예제이다.

Sub test5()

    Dim range1 As Range
        
    Set range1 = Range("B2")
    range1.Insert Shift:=xlShiftToRight
    
End Sub

위 소스의 실행전

 

실행 후

반응형