엑셀 VBA(매크로) - with ~ end with 구문
본문 바로가기
엑셀 컴퓨터 인터넷/엑셀 VBA

엑셀 VBA(매크로) - with ~ end with 구문

by Squat Lee 2021. 1. 8.

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
반응형

댓글