본문 바로가기
언어 참조

실행 문 작성

2023. 7. 30.

이 글은 도움말을 번역한 글입니다.예제는 수정했습니다.

실행 문은 동작을 시작합니다. 메서드나 함수를 실행할 수 있으며 코드 블록을 반복하거나 분기할 수 있습니다. 실행 문에는 종종 수학 연산자 또는 조건부 연산자가 포함됩니다.

메서드 사용 예제

Sub SortData()
    ' Worksheet 변수를 선언하고 "Sheet1" 시트를 참조합니다.
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    
    
    Dim sortRange As Range
    Set sortRange = ws.Range("A1:F22")
    
    ' 오름차순으로 정렬합니다.
    sortRange.Sort Key1:=ws.Range("A1"), Order1:=xlAscending, Header:=xlYes
    
    ' 정렬 완료 메시지를 출력합니다.
    MsgBox "데이터가 오름차순으로 정렬되었습니다."
End Sub

사용자 정의 함수

Function AddNumbers(a As Double, b As Double) As Double
    ' 두 숫자를 더하는 함수
    AddNumbers = a + b
End Function

Sub CallFunction()
    ' AddNumbers 함수를 실행하여 결과를 변수에 저장합니다.
    Dim result As Double
    result = AddNumbers(5.5, 3.2)
    
    ' 결과를 메시지 박스로 출력합니다.
    MsgBox "결과: " & result
End Sub

For ~ Next

Sub RepeatBlock()
    ' 반복문을 사용하여 1부터 10까지의 숫자를 출력합니다.
    Dim i As Integer
    
    For i = 1 To 10
        Debug.Print i
    Next i
End Sub

For Each ~ Next

Sub PrintArrayValues()
    ' 배열에 저장된 값을 출력합니다.
    Dim myArray(4) As Integer
    myArray(0) = 10
    myArray(1) = 20
    myArray(2) = 30
    myArray(3) = 40
    myArray(4) = 50
    
    Dim element As Variant
    For Each element In myArray
        Debug.Print element
    Next element
End Sub

IF ~ Else

Sub CheckValue()
    ' 사용자로부터 입력 값을 받습니다.
    Dim userInput As Integer
    userInput = InputBox("숫자를 입력하세요:")
    
    ' 입력 값을 확인하여 메시지를 출력합니다.
    If userInput > 0 Then
        MsgBox "입력한 숫자는 양수입니다."
    ElseIf userInput < 0 Then
        MsgBox "입력한 숫자는 음수입니다."
    Else
        MsgBox "입력한 숫자는 0입니다."
    End If
End Sub

Select Case

Sub CheckDayOfWeek()
    ' 사용자로부터 요일을 입력받습니다.
    Dim userInput As String
    userInput = InputBox("요일을 입력하세요:")
    
    ' 요일을 확인하여 작업을 수행합니다.
    Select Case userInput
        Case "월요일"
            MsgBox "월요일에는 회의가 있습니다."
        Case "화요일", "수요일", "목요일", "금요일"
            MsgBox "주중에는 업무가 있습니다."
        Case "토요일", "일요일"
            MsgBox "주말에는 휴식일입니다."
        Case Else
            MsgBox "올바른 요일을 입력하세요."
    End Select
End Sub

덧셈 연산

Sub AdditionExample()
    Dim num1 As Double
    Dim num2 As Double
    Dim sum As Double
    
    num1 = 10
    num2 = 5
    sum = num1 + num2
    
    MsgBox "두 숫자의 합은 " & sum & "입니다."
End Sub

뺄셈 연산

Sub SubtractionExample()
    Dim num1 As Double
    Dim num2 As Double
    Dim difference As Double
    
    num1 = 15
    num2 = 8
    difference = num1 - num2
    
    MsgBox "두 숫자의 차는 " & difference & "입니다."
End Sub

곱셈 연산

Sub MultiplicationExample()
    Dim num1 As Double
    Dim num2 As Double
    Dim product As Double
    
    num1 = 7
    num2 = 4
    product = num1 * num2
    
    MsgBox "두 숫자의 곱은 " & product & "입니다."
End Sub

나눗셈 연산

Sub DivisionExample()
    Dim num1 As Double
    Dim num2 As Double
    Dim result As Double
    
    num1 = 20
    num2 = 4
    result = num1 / num2
    
    MsgBox "두 숫자의 나눗셈 결과는 " & result & "입니다."
End Sub

나머지 연산

Sub ModulusExample()
    Dim num1 As Integer
    Dim num2 As Integer
    Dim remainder As Integer
    
    num1 = 13
    num2 = 4
    remainder = num1 Mod num2
    
    MsgBox "첫 번째 숫자를 두 번째 숫자로 나눈 나머지는 " & remainder & "입니다."
End Sub

비교 연산자

Sub CompareNumbers()
    Dim num1 As Double
    Dim num2 As Double
    
    ' 사용자로부터 첫 번째 숫자 입력 받기
    num1 = InputBox("첫 번째 숫자를 입력하세요.")
    
    ' 사용자로부터 두 번째 숫자 입력 받기
    num2 = InputBox("두 번째 숫자를 입력하세요.")
    
    ' 두 숫자 비교하기
    Dim resultMsg As String
    
    If num1 = num2 Then
        resultMsg = "두 숫자는 같습니다."
    ElseIf num1 > num2 Then
        resultMsg = "첫 번째 숫자가 두 번째 숫자보다 큽니다."
    ElseIf num1 < num2 Then
        resultMsg = "첫 번째 숫자가 두 번째 숫자보다 작습니다."
    ElseIf num1 >= num2 Then
        resultMsg = "첫 번째 숫자가 두 번째 숫자와 같거나 큽니다."
    ElseIf num1 <= num2 Then
        resultMsg = "첫 번째 숫자가 두 번째 숫자와 같거나 작습니다."
    End If
    
    ' 결과 메시지 출력
    MsgBox resultMsg
End Sub

논리 연산자

Sub CombineLogicalOperators()
    Dim condition1 As Boolean
    Dim condition2 As Boolean
    Dim resultMsg As String
    
    ' 사용자로부터 첫 번째 조건 입력 받기
    condition1 = CBool(InputBox("첫 번째 조건을 입력하세요. (True 또는 False)"))
    
    ' 사용자로부터 두 번째 조건 입력 받기
    condition2 = CBool(InputBox("두 번째 조건을 입력하세요. (True 또는 False)"))
    
    ' 논리 연산자 조합하여 결과 판별하기
    If condition1 And condition2 Then
        resultMsg = "두 조건이 모두 참입니다."
    ElseIf condition1 Or condition2 Then
        resultMsg = "두 조건 중 하나 이상이 참입니다."
    ElseIf Not condition1 And Not condition2 Then
        resultMsg = "두 조건 모두 거짓입니다."
    Else
        resultMsg = "조건을 만족하는 경우가 없습니다."
    End If
    
    ' 결과 메시지 출력
    MsgBox resultMsg
End Sub

도움말 출처

Writing executable statements (VBA)

Office VBA reference topic

learn.microsoft.com

'언어 참조' 카테고리의 다른 글

선언문 작성  (0) 2023.07.31
Visual Basic 문 작성  (0) 2023.07.31
이름 충돌 피하기  (0) 2023.07.30
개체, 메서드, 속성 및 이벤트 이해  (0) 2023.07.30
개체 변수 만들기  (0) 2023.07.29