VBA Editor 메뉴 구성
재설정 버튼
우선 VBA 실행 시 에러가 나면
('1004' 런타임 오류가 발생하였습니다.... 어쩌고...)
에러창을 끈 후에도 아무것도 실행이 되지 않는다.
그럴 때 버튼을 눌러야 하는데
이렇게 하면 VBA를 재설정할 수 있다.
이제 코드를 편집한 후 다시 실행하면 된다.
편집 위치
VBA 코드 편집할 때 커서가 있는 위치를 표시한다.
평소에 이걸 확인할 일은 거의 없긴 한데
나중에 복잡한 코드를 작성할 때, 행 수가 크면
내가 이만한 수준의 코드를 작성했구나... 하는
뿌듯함을 느낄 수 있다.
VBAProject 속성
다른 사람이 작성한 Excel 파일의 코드를 보려고 하면
암호를 입력하라는 창이 나올 때가 있다.
암호는 다음 메뉴에서 설정할 수 있다.
읽기 전용으로 프로젝트 잠금을 체크하고
밑에 암호와 암호 확인을 입력하면
코드에 암호를 설정하게 된다.
그런데 이게... 암호가 아주 쉽게 뚫린다.
맹신하지는 말자.
한 단계씩 코드 실행
코드를 한꺼번에 실행하지 않고
한줄씩 실행할 수도 있다.
키보드에서 F8 키를 반복해서 누르면 된다.
계산이 이상하게 될 때
어디서 이상하게 되었는지 찾아보려면
F8 키를 눌러서 찾을 수 있다.
한 줄씩 실행해서 어느 세월에... 싶겠지만
그래도 찾아야지.
주석 달기
코드를 입력하다가
이 코드가 무엇을 의미하는지 메모를 해야 할 경우
메모 내용 앞에 작은 따옴표 ' 를 붙이면 된다.
또는 입력한 코드에서
이번에 실행할 때 이 부분은 실행하지 말아야지... 할 경우
코드 앞에다가 작은 따옴표를 붙여도 된다.
주석은 녹색으로 표시되고
실행에 아무런 영향을 주지 않는다.
작성한지 오랜 시간이 지나서 다시 엑셀 파일을 열어볼 경우
내가 만들었는데도 뭔지 잘 기억이 안날 때가 있다.
주석을 꼼꼼하게 입력해두면
나중에 큰 도움을 받을 수 있다.
코드 정렬하기
코드를 작성하면서 한눈에 잘 알아볼 수 있도록
Tab을 눌러서 정렬을 한다.
Tab을 한번 누르는 것은 Spacebar를 네번 누른 것과 같은데
그저 알아보기 쉽게 하기 위함이고
앞에 빈 공간이 얼마나 있더라도 코드 실행에는 아무 영향을 주지 않는다.
Sub와 End Sub는 코드의 시작과 끝이니까
Do와 Loop도 같이 사용하는 거니까
If, Else, End If도 같이 사용하는 거니까
위 코드처럼 정렬하면 알아보기 편하다.
위 코드는 그래도 간단한 편이라서
정렬을 안해도 어찌어찌 알아볼 수는 있겠지만
훨씬 복잡한 코드인데 정렬을 안해주면
이 End If는 어느 If와 한 쌍인지...? 알아보기 매우 어려울 것이다.
정성들여 정렬해주는 것이 좋다.
코드 정렬은 한줄씩 Tab 키를 눌러서 정렬할 수도 있지만
영역 선택 후 한꺼번에 정렬할 수도 있다.
다음과 같이 마우스로 주욱 긁어서
Tab 키를 누르면
오른쪽을 4칸씩 이동한 것을 볼 수 있다.
Shift + Tab 키를 누르면 왼쪽으로 4칸씩 이동한다.
한 줄 편집, 여러 줄 편집
여러 줄로 된 코드가 짧을 경우
코드를 모아서 한 줄로 편집할 수가 있다.
x = 1
y = 2
z = 3
이런 코드는
x = 1: y = 2: z = 3
이렇게 코드 사이에 : (colon)을 붙이면 된다.
한 줄로 된 코드가 너무 길어서
스크롤 바를 옮기지 않으면 알아보기 어려울 경우도 있는데
이럴 때는 밑줄 _ 을 사용해서 여러 줄로 편집할 수도 있다.
Range("X4", Range("AJ4").Offset(Range("K17"), 0)) = Range("X2", Range("AJ2").Offset(Range("K17"), 0)).Value
이렇게 긴 코드는
Range("X4", Range("AJ4").Offset(Range("K17"), 0)) = _
Range("X2", Range("AJ2").Offset(Range("K17"), 0)).Value
이렇게 바꿔주면 쉽게 알아볼 수 있게 된다.
코드 실행 시 주의 사항
VBA 코드를 실행할 때 주의해야 하고 명심해야 하는 것이 있는데
코드를 실행하고 나면 되돌리기가 안된다.
Excel 시트에서 편집하던 것은
간단하게 되돌리기 버튼을 누르거나
Ctrl + z 키를 누르면 되돌리기가 되는데
잘못된 VBA 코드를 실행해서
시트에 편집하던 것이 이상하게 변하게 되면?
되돌릴 방법이 없다.
다시 새로 입력하고 편집해야 된다.
그래서 반드시 파일을 저장하거나
복사본을 만들어둔 후에 실행할 것을 권한다.
VBA Editor에서 편집하던 코드 자체는
실행 전에나 후에나 되돌리기가 된다.
'Excel VBA 기초' 카테고리의 다른 글
Excel VBA - If (0) | 2023.12.03 |
---|---|
Excel VBA - For, Next (0) | 2023.12.02 |
Excel VBA - 변수 (2) (0) | 2023.11.30 |
Excel VBA - 변수 (1) (0) | 2023.11.30 |
Excel VBA - Cell 값을 다른 Cell에 복사하기 (0) | 2023.11.26 |