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

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

by 만초손겸수익 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
반응형

댓글