엑셀 VBA 행, 열 삭제 및 추가하는 방법

엑셀(Excel)/VBA

엑셀 VBA , 열 삭제 및 추가하는 방법

 

환경: Microsoft Excel 2013

 

이번에는 VBA 코드를 이용해서 엑셀 워크시트에 있는 행과 열을 추가하는 방법에 대해 알아 보겠습니다. 행과 열을 추가하고 삭제하는 함수는 Insert() Delete() 입니다. 행 객체를 반환하는 Rows() 함수와 열을 반환하는 Columns() 객체 뒤에 Insert() Delete() 를 사용하시면 됩니다.

 

¤ 행 추가하고 삭제하는 방법

 

행을 추가할 때는 Insert 를 사용하며 삭제하고자 할 때는 Delete 를 이용합니다. Rows() 의 인수로 들어간 숫자는 추가/삭제를 하기 위한 행 번호를 나타냅니다. 그러니까 해당 번호 위쪽에 추가가 됩니다.

 

Rows(1).Insert

Rows(1).Delete

 

엑셀 VBA 행, 열 삭제 및 추가하는 방법

 

두 번째 방법은 Range.EntireRow 를 이용하는 것입니다. Range 함수 이므로 인수로 들어가는 것은 셀의 위치가 됩니다. 해당 위치에서 행을 추가할 것인지 열을 추가할 것인지는 EntireRow / EntireColumn 이 결정합니다. 셀 하나를 지정했지만 행 하나가 추가 됩니다.

 

Range(“B1”).EntireRow.Insert

Range(“B1”).EntireRow.Delete

 

엑셀 VBA 행, 열 삭제 및 추가하는 방법


영역을 지정해서 여러 행을 넣고 싶다면 아래와 같이 범위 텍스트를 인수로 넘기면 됩니다. 그러면 지정한 행번호의 영역만큼 추가가 됩니다. For 문을 돌릴 필요가 없는 것이죠.

 

Rows("1:3").Insert

Rows("1:3").Delete

 

엑셀 VBA 행, 열 삭제 및 추가하는 방법

 

¤ 열을 추가하고 싶을 때

 

열 객체를 반환하는 Columns() 로 추고하고 싶은 열의 위치를 가져온 후에 Insert() Delete() 함수를 사용해서 열을 추가하고 삭제합니다. Rows 와 같이 인수로 열 번호를 입력하면 오른쪽에 새로운 열을 추가하거나 삭제할 수 있습니다.

 

Columns("A").Insert

Columns("A").Delete

 

엑셀 VBA 행, 열 삭제 및 추가하는 방법

 

Columns() 은 열 번호만 입력이 가능하지만 Range 를 이용하면 특정 위치의 셀을 지정해서 열을 추가하거나 삭제할 수 있습니다. 열 전체를 지정하는 것이 아니라 셀이 위치한 열을 기준으로 작업을 하는 것입니다. 그러기 위해선 Range() 함수가 리턴한 영역 객체에서 EntireColumn 속성을 사용해야 합니다.

 

Range("B1").EntireColumn.Insert

Range("B1").EntireColumn.Delete

 

엑셀 VBA 행, 열 삭제 및 추가하는 방법

 

여러 줄의 열을 한번에 입력하고 삭제할 때는 Columns() 함수의 인수로 열 번호 하나가 아닌 영역을 넘기면 됩니다. 아래 소스에서처럼 A:C 를 인수로 넘기게 되면 기존 A 열 앞에 A 에서 C 만큼 영역이 추가가 됩니다.

 

Columns("A:C").Insert

Columns("A:C").Delete

 

엑셀 VBA 행, 열 삭제 및 추가하는 방법

 

Posted by 녹두장군