반응형

기울임체는 확실하지 않은 내용으로 향후 수정될 수 있음

개인공부용이지만 댓글과 구독은 큰 도움이 됩니다. 


학습일자 : 2020.11.20

학습방법 : 업무 자동화 올인원패키지, 패스트캠퍼스

 

실습목표

 기존 엑셀에서 셀 병합을 시도하면 "셀을 병합하면 왼쪽 위의 값만 남고 나머지 값은 잃게 됩니다"라는 알람(Alert)이 뜬다. 그리고 확인을 누르면 A1 : C2까지 하나의 셀로 병합되지만, 값은 선택영역에서 왼쪽 위의 값(1, 1)인 [예시에서는 "고모"]만 남게 된다.

 그렇다면 VBA를 활용하여 선택된 영역의 모든 셀의 내용을 유지하면서 병합을 하는 방법을 실습해본다

 

실습내용

셀 내용 유지하면서 병합하기

1) Application 

 어플리케이션이라는 용어가 대중화되어서, 무슨 의미인지 대략적인 감은 오지만 VBA에서 어떻게 쓰이는지는 잘 모르겠다. 여러 설명을 찾아본 바에 의하면, Application은 응용프로그램으로 VBA가 사용되는 모든 MS-office 제품군이 Application이 될 수 있다고 한다. (VBA = Excel이 공식처럼 느껴지지만 사실 다른 MS 제품에도 VBA 엔진이 포함되어 있다.) 

 지금은 엑셀에서 VBA를 편집중이므로 여기서 Application은 엑셀 프로그램을 지칭한다고 할 수 있다. 자세한 설명이 필요하다면 아래 글에서

- VBA 입문강좌 : 애플리케이션, 오브젝트, 프로퍼티, 그리고 메서드

 - 마이크로소프트 공식 홈페이지 : Application

 

2) DisplayAlerts

 마이크로소프트 공식 홈페이지의 설명은 다음과 같다.

 해석하면 "만약 마이크로소프트 엑셀에서 매크로가 작동되는 동안 특정 알람(Alert)이나 메세지가 표시(Display)되면 참이다"이다. 예시처럼 True/False를 입력할 수 있기 때문에, 반대로 생각하면 매크로나 작동되는 동안 알람이나 메세지를 켜고 끌 수 있는 셈이다. 예시에서는 앞서 설명했던 셀 병합 메세지를 무시하기 위해서 Display Alerts가 사용되었다.

3) &

 엑셀에서 문자열을 이어 붙일 때 &을 쓰는 것과 같다.

4) vbLf, vbCr

 vbLf와 vbCr은 비주얼베이징의 상수로 아래와 같은 역할을 한다

 - vbLf : 커서나 헤드가 현재 위치에서 다음줄로 이동한다

 - vbCr : 현재 줄의 처음으로 커서나 헤드를 이동한다.

 아스키코드로는 vbCr이 chr(13)이고, vbLf가 chr(10)이라고 한다. 아스키코드는 나중에 공부를 추가로 해봐야 할 듯. 예시에서는 Enter키를 치는 느낌으로 vbLf가 사용되었다. (띄어쓰기는 간단하게 " "로 표현했다.)

5) [Method] Merge 

 단어 뜻 그대로 특정 영역을 "병합"하는 함수이다. 병합을 하려면 특정 영역이 설정되어야 하므로, 'Range(영역).Merge' 형식으로 활용된다. 여기서는 Selection을 지정하여 병합을 수행했다.  

 

에러 발생(오답노트)

 없었음

 

모르는 내용이 있다면 VBA 아카이브(클릭)에서 키워드로 검색하기 ▼

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기