티스토리 뷰

VBA

[Excel][VBA] 입출력 함수

어린왕자1234 2021. 11. 22. 00:40

■ 출력함수

1. MsgBox함수

   : 대화상자에 반환값 출력

MsgBox (prompt, [ buttons, ] [ title, ] [ helpfile, context ])

    prompt   : 대화상자에 표시할 내용

    buttons   : 버튼 종류

    title        : 대화상자 제목

    helpfile    : 대화상자에 도움말 제공시  필요한 도움말 파일

    context    : 도움말에 지정된 컨덱스트 ID를 나타내는 수식

※ MsgBox함수는 반환값(사용자가 선택한 버튼)이 있다.

    반환값 표시 창으로만 사용하려면 Button인수를 생략하면 된다. ( 반환값 없음 )

 

A = msgbox ("Result : ", vbOKCancel,Title:="결과창")

※ 디버깅에 MsgBox함수를 사용하여 코드를 중지하고 변수/지금까지의 계산값등을 확인하는데 사용

  버튼상수는 여러개 사용가능 : vbOKCancel + vbQuestion   ->  Ok/Cancel버튼 + 물음 표시

 

Application.InputBox

Application.InputBox (Prompt, Title, Default, Left, Top, HelpFile, HelpContextID, Type)

Prompt Required String The message to be displayed in the dialog box. 
Title Optional Variant The title for the input box. (The default title is Input)
Default Optional Variant Specifies a value that will appear in the text box when the dialog box is initially displayed. If this argument is omitted, the text box is left empty. This value can be a Range object.
Left Optional Variant Specifies an x position for the dialog box in relation to the upper-left corner of the screen, in points.
Top Optional Variant Specifies a y position for the dialog box in relation to the upper-left corner of the screen, in points.
HelpFile Optional Variant The name of the Help file for this input box. If the HelpFile and HelpContextID arguments are present, a Help button will appear in the dialog box.
HelpContextID Optional Variant The context ID number of the Help topic in HelpFile.
Type Optional Variant Specifies the return data type. If this argument is omitted, the dialog box returns text.

Type (Return value)

0 A formula
1 A number
2 Text (a string)
4 A logical value (True or False)
8 A cell reference, as a Range object
16 An error value, such as #N/A

 

Sub GetUserRange()
    Dim UserRange As Range
 
    Prompt = "Select a range for the random numbers."
    Title = "Select a range"

'   Display the Input Box
    On Error Resume Next
    Set UserRange = Application.InputBox( _
        Prompt:=Prompt, _
        Title:=Title, _
        Default:=ActiveCell.Address, _
        Type:=8) 'Range selection
    On Error GoTo 0

'   Was the Input Box canceled?
    If UserRange Is Nothing Then
        MsgBox "Canceled."
    Else
        UserRange.Formula = "=RAND()"
    End If
End Sub