2021. 1. 29. 23:35ㆍ업무 스킬/Excel VBA
매크로 작성할 때, 정해진 변수나 범위를 사용해도 되지만.
가끔은 유저 친화적으로, 유저가 정하는 변수나 범위를
사용할 수 있게끔 만들어줄 때가 있다.
그때 사용하는 것이 바로 [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 값으로 자동 지정된다.
'업무 스킬 > Excel VBA' 카테고리의 다른 글
[엑셀 VBA] 정수 반올림 Round / Int / Fix (0) | 2021.02.02 |
---|---|
[엑셀 VBA] 텍스트 나누기, TextToColumns 쉽게 하기 (0) | 2021.02.01 |
[엑셀 VBA] CountIF 활용 법.(필터링, 중복 개수 확인) (0) | 2021.01.27 |
[엑셀 VBA] Hyperlinks 사용하여 Sheet 이동 목차 만들기 (1) | 2021.01.24 |
[엑셀 VBA] Interior , Cell의 바탕색 변경 하기 (0) | 2021.01.23 |