가장 많이 사용하는 행과 열의 셀복사(copy)와 셀삭제(delete)를 배워봅니다.
ActiveSheet는 현재 활성화된 시트입니다.
UsedRange는 활성 시트에서 데이터가 있는 최대 범위입니다.
특정셀을 기준으로 최소범위를 지정하려면 CurrentRegion을 사용하면 됩니다.
Sub 셀복사방법()
Dim 마지막행 As Long '마지막행 변수 long값 지정
Dim 마지막열 As Long '마지막열
ActiveSheet.UsedRange.Select '최대범위를 선택합니다.
마지막행 = Selection.End(xlDown).Row '연속적인 데이터가 있는 마지막 행을 변수에 넣습니다.
마지막열 = Selection.End(xlToRight).Column '연속적인 데이터가 있는 가장 오른쪽의 셀
Selection.Copy Cells(마지막행, 마지막열).Offset(2, -2)
' Range를 이용한 복사와 비교해 봅니다
Range("b2:d3").Copy
Cells(10, 2).Select
ActiveSheet.Paste
Range("b3:d3").Copy
Cells(14, 2).Select
ActiveSheet.Paste
End Sub
결과입니다.
Sub 셀삭제방법()
Dim 첫행 As Long '첫행 변수 long 값 지정
Dim 첫열 As Long '첫열 변수 long 값 지정
ActiveSheet.UsedRange.Select
첫행 = Selection.Row
첫열 = Selection.Column
Cells(첫행, 첫열).Delete (xlShiftToLeft) '셀하나를 삭제하고 왼쪽으로 이동시킵니다.
Cells(10, 3).Delete (xlShiftToLeft) '셀하나를 삭제하고 왼쪽으로 이동시킵니다.
Rows(11).Delete '지정한 행전체를 삭제합니다, 위쪽으로 이동됩니다
End Sub
END 속성을 가진 상수들로는 xlUp(첫번째 행의셀), xlDown(마지막행의 셀), xlToLeft(가장 왼쪽의 셀),xlToRight(가장 오른쪽의 셀)등이 있어서 다양하게 사용할 수 있습니다.
예제파일입니다
댓글 영역