Lost Information!

엑셀 VBA 기초 - InputBOX, Application.InputBox -2편 본문

개인브랜드블로그를 만들어 보자/엑셀VBA

엑셀 VBA 기초 - InputBOX, Application.InputBox -2편

Lostinformation 2020. 12. 2. 14:26

모두가 칼퇴하는 그날까지~

 

지난 글에서는 

IInputBOX, 

Application.InputBox

에 대해 대략적으로

알려드렸는데요.

 

만일 저번 내용을 모르시거나

기억이 나질 않으신다면

밑에 글을 참고해주세요.

red-s.tistory.com/2455

 

엑셀 VBA 기초 - InputBOX, Application.InputBox -1편

모두가 칼퇴하는 그날까지~ 지난 글에서는 COLORINDEX 컬러 색상표를 만드는 방법에 대해 알려드렸는데요. 만일 저번 내용을 모르시거나 기억이 나질 않으신다면 밑에 글을 참고해주세요. red-s.ti

red-s.tistory.com

 

이번 글에서는 지난 글에

이어서 Application.InputBox

만드는 매크로를

알려드리겠습니다.

 

그럼 바로 엑셀을 실행해주세요.

 

 

먼저 이렇게 간단한

엑셀표에 입력을 누르면

INPUTBOX 나오게 하고

그 안에 값을 입력하면

해당 셀에 값이 들어가도록

설정하겠습니다.

 

그럼 ALT + F11을 눌러주세요.

 

 

그다음 성명 셀에 들어갈

InputBox부터 설정할 텐데요.

 

위와 같이 적어주시면 됩니다.

 

바로 설명해드리면

 

Sub InputBoxTest01()

InputBoxTest01라는

매크로를 만들 거야

Dim strName     As String

strName이라는

문자를 받는 변수로

설정할게

     
strName = Application.InputBox("성명을 입력하세요.", "성명", "홍길동")

strName은 

성명을 입력하세요라는

prompt와

성명이라는 Title

홍길동이라는 예제

Default 값인 InputBox야

     
If strName = "False" Then

만약 strName이 

취소를 눌렀다면

(이때 False의 F를 꼭

소문자가 아닌 대문자로

입력해주어야 정상 작동합니다.)

 

MsgBox "입력한 성명이 없습니다."

메시지 박스를 통해

입력한 성명이 없습니다.

라는 말이 나오게 하고

 

Else

그렇지 않다면

 

Range("C3") = strName

C3에 strName의 값을

넣어줘

 

End If
    
End Sub

 

이후 성명 셀 옆 입력 버튼에

매크로를 설정한 후 클릭하면

 

 

이렇게 원하는 이름을

InputBox를 통해 

입력하여 성명 셀에 

넣을 수 있습니다.

 

또한 직접 적어보신 분들은

아시겠지만 해당 박스의

Prompttitle, default

순서 또한 하단에 나오는

검은색 굵은 글씨를 통해

확인하고 적으면 되니 

전혀 외울 필요가 없습니다.

 

 

이번에 두 번째 

성별 셀에 들어갈 

매크로입니다.

 

이 매크로는 원하는

성별을 적는 것이 아닌

성별이 적혀있는 셀을

클릭함으로써 그 값을

성별 셀에 넣는 것인데요.

 

위와 같이 적으시면

실행할 수 있습니다.

 

달라진 부분만 설명드리면

 

On Error Resume Next

에러가 나게 된다고 해도

그대로 실행해

(이유는 set을 통해

설정했을 때 범위를

설정하지 않고 취소하면

에러가 나기 때문에 취소했을 때

그대로 진행하기 위해 적었습니다.)
    
Set rngT = Application.InputBox("성별을 선택하세요", "성별", "성별 선택", , , , , 8)

(원하는 Prompt와

title,  default값을

설정하고 ,,,,, 점 다섯 개를

적은 뒤 범위에 해당하는

숫자 8을 입력하세요.)

 

If rngT Is Nothing Then

만약 rngT의 범위가 없다면

 

MsgBox "선택한 성별이 없습니다."

선택한 성별이 없습니다

라는 메시지 박스를 띄어주세요.

 

Else

그렇지 않다면

 

Range("C5") = rngT

C5셀에 선택한

값을 넣어줘

 

End If
    
On Error GoTo 0

여기까지만 에러가 나도

진행하는 거야

 

그리고 실행하게 되면

 

이렇게 원하는 셀을

선택하여 성별을 선택하게

설정할 수 있습니다.

 

그리고 마지막 나이의 

경우는 처음 알려드린

성명과 차이가 없기 때문에

직접 만들어보시기를

권장드립니다.

 

Application.InputBox

생각보다 활용도가 상당히

많은 매크로입니다.

 

꼭 익혀서 꾸준히 잘

사용하셨으면 좋겠습니다.

 

여기까지 궁금하신 점은

댓글에 남겨주시고

공감구독도 부탁드립니다.

 

 

 

Comments