본문 바로가기

엑셀/VBA

VBA 셀 삽입 메서드 Insert에 대해 알아보기

반응형

이전 글에서 엑셀의 셀을 삭제하는 Clear와 Delete 메서드에 대해 알아보았습니다. 이번에는 셀을 삽입하는 메서드 Insert에 대해 알아보겠습니다.

 

VBA 메서드 Clear & Delete 알아보기

 

VBA 메서드 Clear & Delete 알아보기

일반적으로 엑셀을 사용하면서 셀의 내용을 지우거나 셀 자체를 삭제할 수 있습니다. 이런 기능을 VBA에서도 구현할 수 있는데 이럴 때 사용하는 메서드가 Clear와 Delete입니다. VBA 그림 복사 메서

mr-johndoe.tistory.com

 

 

 

 

1. Insert 메서드

  Range의 메서드 Insert를 사용하면 엑셀 시트에 셀을 삽입할 수 있습니다. 사용하는 방법은 다음과 같습니다.

 

   Range.Insert(기존 셀 이동방향, 복사한 셀 삽입)

 

  1.1 기존 셀 이동방향 ( Shift )

      셀을 삽입하면서 기존에 있던 셀을 어느 방향으로 이동시킬지를 정합니다. 여기에 사용하는 내장 상수를 아래 표에 정리하였습니다.

 

내장 상수 설 명
xlShiftToRight 기존 셀을 오른쪽으로 이동
xlShiftDown 기존 셀을 아래쪽으로 이동

 

  1.2 복사한 셀 삽입 ( CopyOrigin )

      논리값 True 또는 False를 입력합니다. True를 입력하면 셀을 삽입하게 되며 클립보드에 저장되어 있는 내용이 입력됩니다.

 

 

 

 

2. 예제로 확인

엑셀 시트에 ActiveX 버튼 하나를 생성하고 Caption에 '행 삽입'이라고 입력합니다. 그리고, 버튼을 마우스 왼쪽 버튼으로 더블클릭하여 VBE 코드 창을 띄우고 다음과 같이 코드를 입력합니다.

 

   Private Sub Button_RowInsert_Click()

      Dim cell As Range

 

      Set cell = Range(ActiveCell.Address)

 

      Range(cell.Address).EntireRow.Insert

   End Sub

 

Range(cell.Address).EntireRow.Insert

: 선택된 셀의 바로 위에 행을 삽입합니다. (기존 셀이 속한 행은 아래로 이동)

 

위의 코드를 입력하고 엑셀 시트에서 행을 삽입하시고자 하는 위치에 마우스 클릭하시고 버튼을 누르시면 행이 삽입되는 것을 보실 수 있습니다.

 

여기서, 열을 추가하시고 싶으시면 EntireRow를 EntireColumn으로 변경하시면 됩니다. 

 

반응형