행 또는 열을 새롭게 삽입해야하는 경우가 있다. 그럴 경우 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
위 소스의 실행전
실행 후
'IT 이모저모 > VBA' 카테고리의 다른 글
VBA(엑셀 매크로) 셀에 메모(코멘트, Comment)추가(AddComment) (0) | 2021.01.31 |
---|---|
VBA(엑셀 매크로) 행/열 삭제(Delete메소드) (0) | 2021.01.31 |
VBA(엑셀 매크로) 단일, 복수 셀(cell) 범위지정,선택하기(Range활용) (0) | 2021.01.29 |
VBA(엑셀 매크로) 특정 시트 활성화 (시트 이동, 시점변경) (0) | 2021.01.24 |
VBA(엑셀 매크로) 특정 시트 셀 접근, 셀 내용 변경 Worksheets(), Cells() 활용 (0) | 2021.01.24 |