VBA 코드를 작성하다 보면 동일한 개체에 반복해서 사용할 경우가 많습니다.
예를들어 sheets(1) 이라는 개체에서 여러 셀을 사용할때 아래와 같이 번거로움이 있습니다.
sheets(1).cells(1,3) = test
sheets(1).cells(1,3).font.color = vbBlue
sheets(1).cells(1,4).interior.color = 36
.
.
.
이럴때에는 with ~ endwith 문으로 반복작업을 줄이고, 코드를 깔끔하게 작성할 수 있습니다.
개발도구 메뉴에서 Visual Basic 메뉴로 들어갑니다.
VBA 창에서 '삽입' 메뉴에서 '모듈(M)'을 눌러서 모듈을 추가합니다.
위와 같이 코드를 입력하고 실행합니다.
제대로 실행이 된 것을 확인할 수 있습니다.
반복해서 사용할 객체를 with 옆에 적어주고, 반복해서 사용할 문장에는 " . "(점)으로 표시해주면 됩니다.
VBA에서는 구문을 사용할 때 항상 마지막에 닫아 주어야 합니다.
예를들어 With 구문은 사용을 완료하면 Endwith 로 마무리를 해야만 실행이 됩니다.
이것뿐만 아니라 If 는 Endif 로 닫아 주어야 하고, For 는 Next, Do While 은 Loop 로 닫아 주어야 합니다.
혹시 파이썬을 사용하시는 분이시면 파이썬에는 구문을 닫을 필요가 없기에 귀찮아 하실 수도 있을 것 같습니다.
728x90
반응형
'엑셀 컴퓨터 인터넷 > 엑셀 VBA' 카테고리의 다른 글
엑셀 VBA(매크로) - For ~Next 순환문 (반복문) (0) | 2021.01.12 |
---|---|
엑셀 VBA(매크로) - If ~ End if 조건문 (0) | 2021.01.09 |
엑셀 VBA(매크로) - InputBox 함수 (0) | 2021.01.07 |
엑셀 VBA(매크로) - MsgBox 사용하기 (0) | 2021.01.06 |
엑셀 - 자동 목록 쉽게 만들기 (드롭다운, 콤보박스) (0) | 2020.12.26 |
댓글