앞서 게시한 엑셀 매크로(vba) 기본적인 정의를 설명하면서 매크로 기록에 대한 내용을 알려드린 바 있다. 혹시나 엑셀 매크로에 대한 기본 가이드를 알고 싶다면 이전 글을 참조하기 바란다. 게시한 내용 중 두 번째 방법인 매크로 작성에 대한 내용을 설명한다.
엑셀 매크로 vba 어떻게 사용할까 기초 가이드
엑셀의 매크로(Macro)는 반복적이고 자주 사용되는 작업을 자동화하기 위해 녹화하거나 프로그래밍한 일련의 명령어 집합이며, 엑셀 매크로는 VBA(Visual Basic for Applications)라는 프로그래밍 언어를
minidrawer.tistory.com
매크로 기록(녹화)으로 생성한 매크로는 사용 범위가 제한적일 수밖에 없다. 예를 들어, 내가 선택한 곳에 행 또는 열을 추가하고 싶다면 매크로 기록보다는 직접 작성하여 쓰는 매크로가 더 정확할 수 있다는 얘기다. 더군다나, 매크로를 녹화하여 사용하면 쓸데없는 작업들이 포함될 수 있으니 말이다.
매크로 생성(작성)
이번 예시는 지정한 수만큼 행 또는 열을 추가할 수 있는 매크로를 작성하여 실행하는 것을 설명해보고자 한다.
먼저 예시를 보면 내가 선택한 셀의 위치는 E6이며, 이 아래로 2개의 행을 추가해보고자 한다. 매크로가 아니면 두 번의 행 삽입을 통한 작업이 이루어져야 할 것이고, 동일한 작업이 반복될 때는 다시 반복해야 할 것이다.
매크로를 생성하는 순서는 아래와 같이 따라 하면 된다.
- Alt + F8 매크로 실행
- 매크로 이름 지정(문자로 시작할 것, 띄어쓰기 X)
- 만들기 클릭
- 작성 영역에 코드 추가 하기
- 저장 ctrl + s
- ...... 매크로 제외 통합 문서...... [예] 클릭
- VBA 창 닫기
- 다시 Alt + F8 (단축키 지정 과정)
- 옵션 (단축키 지정 과정)
- 바로가기 키 지정 (예 Ctrl + s)
- 매크로 창 닫기
Sub 두개의행추가()
Dim 현재행 As Long
현재행 = ActiveCell.Row
Rows(현재행).Select
Rows(현재행 + 1).Resize(2).Insert Shift:=xlDown
End Sub
매크로 실행(단축키)
단축키를 지정해 뒀기 때문에 원하는 위치의 셀을 선택하고 단축키(Ctrl + s)를 치면, 선택 셀 아래로 2개의 행이 추가된 것을 볼 수 있다. 다른 곳에도 셀을 선택하고 아래로 2개의 행을 추가하여도 동일한 결과를 얻는다.
매크로 코드 뜯어보기
위에서 작성해 보고 실행한 매크로의 코드는 그리 어렵지 않다. 뭉쳐 있으니 어려워 보이는 거지 뜯어보고 분류해 보면 꽤나 단순해 보인다. 이렇게 두고 보면 조금만 응용하면 다른 매크로로 변형하여 사용할 수 있다.
Sub 두개의행추가()
Dim 현재행 As Long : (변수 지정, 현재행, 정수형)
현재행 = ActiveCell.Row : (현재 셀의 위치를 가져옴)
Rows(현재행).Select
Rows(현재행 + 1).Resize(2).Insert Shift:=xlDown : (2개의 행을 아래로 확장)
End Sub
만약 3개의 행을 추가하고 싶으면, 'Resize(2)' 에서 'Resize(3)' 으로 수정하면 된다.
만약 2개의 열을 오른쪽으로 추가하려는 매크로는 아래와 같이 코드를 작성하면 된다. 행의 추가와 조금은 다르지만 구문의 형태는 같다.
Sub 두개의열추가()
Dim 현재열 As Long : (변수 지정, 현재열, 정수형)
현재열 = ActiveCell.Column : (현재 셀의 위치를 가져옴)
Columns(현재열).Select
Columns(현재열 + 1).Resize(, 2).Insert Shift:=xlToRight : (2개의 열을 오른쪽으로 확장)
End Sub
동일하게 3개의 열을 추가하고 싶으면 'Resize(, 2)' 에서 'Resize(, 3)' 으로 수정하면 된다. 그리고, 오른쪽이 아니라 선택된 셀의 왼쪽에 추가하고 싶다면 '(현재열 + 1)' 을 '(현재열)' 으로 변경, 'xlToRight' 를 'xlToLeft' 으로 변경하면 된다.
Insert 의 옵션인 'xlDown', 'xlToRight' 구문을 삭제해도 문제없이 동작한다.
'엑셀 매크로로 편하게 엑셀하기
사무실 일잘러의 가장 필요한 팁들
minidrawer.tistory.com
'엑셀 팁(excel) > 엑셀 매크로 VBA' 카테고리의 다른 글
엑셀 시트 값 합치기 매크로(vba) #6 (1) | 2023.12.09 |
---|---|
엑셀 특정 값 데이터 검색 매크로(vba) #5 (1) | 2023.12.09 |
엑셀 문자열 합치기 매크로(vba) #4 (2) | 2023.12.05 |
엑셀 필요한 매크로 #3 열 너비 자동 맞춤 (0) | 2023.12.04 |
엑셀 필요한 매크로 #2 채워진 셀만 한 줄(행, 열) 선택 (1) | 2023.12.02 |