엑셀 팁(excel)/엑셀 매크로 VBA

엑셀 매크로 버튼 만드는 기초 vba 활용

Emlog 2023. 12. 11. 02:37

매크로 버튼 생성

엑셀의 매크로(vba)를 실행하기 위하여 단축키를 사용하거나, 리본 메뉴의 [매크로 -  실행]으로 매크로를 실행할 수 있다. 하지만, 버튼을 생성하여 매크로 실행하는 것도 가능하다. 또는, 매크로에서 하나의 동작을 버튼으로 진행하는 과정을 거칠 수도 있는 문제이다.

엑셀 매크로 버튼 생성

이처럼 매크로에서 버튼은 엑셀의 매크로 동작에서 아주 유용한 스위치(?)와 같은 동작을 하는 매개체가 되는 것이다. 예를 들어 기초적인 매크로를 하나 작성하였다. 왼쪽 버튼(단추 1)을 누르면 지정된 셀(D5)의 배경색이 빨간색으로, 오른쪽 버튼(단추 2)을 누르면 노란색으로 바뀌는 간단한 매크로이다.

 

 

 

엑셀 매크로 버튼 생성 예시1

 

필요한 매크로 작성

먼저 매크로가 작성되어야 한다. 매크로에서 필요한 버튼이 언급(할당)되면 추후 버튼을 디자인, 생성하여 그것과 연결(매크로 지정)하면 된다. 빈 껍데기인 버튼만 삽입한다고 될 문제는 아니다. 실제로 버튼(스위치)을 눌렀을 때 어떠한 동작을 하는지는 매크로가 작성이 되고 그것과 연결되어야 실질적인 버튼의 역할을 하는 것이다.

매크로는 간단하게 작성했다. 앞서 설명한 것처럼 왼쪽 버튼과 오른쪽 버튼을 구분하여 셀의 색상을 바꾸는 매크로이다. 코트는 아래와 같다.

Sub 빨간색_배경색_설정()
    Range("D5").Interior.Color = RGB(255, 0, 0) ' 빨간색 배경색
End Sub
-------------------------------------------------------------
Sub 노란색_배경색_설정()
    Range("D5").Interior.Color = RGB(255, 255, 0) ' 노란색 배경색
End Sub


버튼이 동작하는 방법을 간단하게 설명하면,

  • 왼쪽 버튼을 "빨간색_배경색_설정()" 이 루틴과 짝을 이룬다.
  • 오른쪽 버튼을 "노란색_배경색_설정()" 이 루틴과 짝을 이룬다.

각각의 버튼이 클릭되면 해당되는 루틴이 동작되는 것이다.

엑셀 매크로 버튼 생성 예시2

버튼 디자인(생성)

버튼을 생성하는 방법은 [개발도구 - 삽입 - 단추(양식컨트롤)] 클릭하여 버튼을 생성한다. 작은 십자선이 마우스 포인트를 따라가면 시트 위에 드래그하여 적당한 크기의 버튼을 생성한다. 그런 다음 매크로 지정을 통해 이 버튼이 동작했을 때 연결되는 루틴을 선택해야 한다.

  • 왼쪽 버튼을 생성할 때는 "빨간색_배경색_설정()"을 선택.
  • 오른쪽 버튼을 생성할 때는 "노란색_배경색_설정()"을 선택.

서로 매크로를 지정하는 것까지 완료되면 버튼 생성은 완료된 것이다.

엑셀 매크로 버튼 생성 예시3
엑셀 매크로 버튼 생성 예시4
엑셀 매크로 버튼 생성 예시5

버튼 동작(단추 클릭)

왼쪽 버튼을 클릭하면 D5 셀의 배경색이 빨간색으로 변경되고, 오른쪽 버튼을 클릭하면 노란색으로 변경된다. 단추 1, 단추 2의 텍스트를 변경할 수 있다. 버튼에 마우스를 가져다 오른쪽 클릭하고 메뉴 중 '텍스트 편집'을 클릭한다. 버튼의 텍스트 편집 커서로 이동된다. 이때 원하는 텍스트로 변경하면 된다.

엑셀 매크로 버튼 생성 예시6
엑셀 매크로 버튼 생성 예시7
엑셀 매크로 버튼 생성 예시8

 

엑셀 매크로(vba)로 편하게 엑셀하기

 

'엑셀 매크로로 편하게 엑셀하기

사무실 일잘러의 가장 필요한 팁들

minidrawer.tistory.com