[엑셀 VBA] InputBox설명 과 사용하여 Chart 생성.

2021. 1. 29. 23:35업무 스킬/Excel VBA

728x90

매크로 작성할 때, 정해진 변수나 범위를 사용해도 되지만.

가끔은 유저 친화적으로, 유저가 정하는 변수나 범위를

사용할 수 있게끔 만들어줄 때가 있다.

 

그때 사용하는 것이 바로 [InputBox]다.

 

매크로에선 ①[InputBox]②[Application.InputBox]

두 종류가 있으며, 여기서 주로 쓰는 것은

②[Application.InputBox] 이다.

 

이유는, 받을 수 있는 Data [Type]을 정할 수 있기 때문이다.

 

[Application.InputBox]의 형식은 아래와 같다.

지정 변수 = Application.InputBox("대화상자",Type:=#)

물론, Title, Default 등 여러 가지가 있으나 거의 잘 안 쓰고

Default를 가끔 쓰긴 한다.

 

[Type]으로 쓸 수 있는 것은 위의 7개이며

Type:=1 / Type:=2 / Type:=8

이외에는 나는 써본 적이 없는 것 같다. 

 

나는 여기서 [Type:=8] Range(셀참조)를

사용하여 Chart 생성 매크로를 작성하겠다.

 

전체 코드는 위와 같고

 코드를 설명하면

변수를 먼저 선언해준다.

나는 Chart의 Y값으로 쓸 Range Type의 "Y"

 그리고 Shapes Type의 "Shp"를 선언해주었다.

그리고 Application.InputBox를 사용하여 Chart에 쓰일

Y축 값을 지정해준다.

 

 

매크로를 실행하면 위와 같은 형태로

InputBox 가 생성되며 Cell를 선택할 수 있게 된다.

선택된 Cell은 "Y" 변수로 설정된다.

 

이후 Chart 생성과, Chart Type을 지정해주고

Y축을 설정해주면 

내가 원하는 값을 갖는 Chart가 생성된다.

참고해야 할 점은 X축은 지정한 Y축의 바로 왼쪽

Column 값으로 자동 지정된다.

728x90