스터디내용

윈도우필수 단축키, 변수선언, if else, for loop

Vㅇㅅㅇ V 2023. 9. 5. 17:15

test.xlsm
0.02MB

1) 위 파일을 다운받아 열어서 VBA를 실행해 본다.

  • 위의 경우 처럼 검증되지 않은 인터넷 상의 .xlsm 파일을 다운 받아 메크로를 실행할 경우 바이러스 감염될 수 있음.
  • 항상 인터넷에서 파일을 다운받아 실행할 때는 조심해야 함.

2) 필수 윈도우 단축키

  • 윈도우키 + 방향키 : 화면 분할
  • alt + tab : 화면이동
  • alt + f4 : 창닫기
  • 시작키 + D : 바탕화면으로
  • 시작키 + E : 제어판

3) vba 에디터 단축키

  • alt + f11 : vba 에디터 창 열기
  • ctrl + y : 한줄 삭제
  • , : 주석처리
  • F5 : 실행
  • F8 : 한줄씩 실행

4)학습내용 요약

vba 변수 활용 예제

Sub CalculateSum()

    ' 변수 선언
    Dim num1 As Integer
    Dim num2 As Integer
    Dim sum As Integer

    ' 값 할당
    num1 = 10
    num2 = 20

    ' 덧셈 연산 수행 후 결과 저장
    sum = num1 + num2

    ' 결과 출력 (MsgBox 함수를 이용)
    MsgBox "The sum of " & num1 & " and " & num2 & " is: " & sum, vbInformation, "Result"

End Sub

If.. Else 예제

Sub CompareNumbers()

    ' 변수 선언
    Dim num1 As Integer
    Dim num2 As Integer

    ' 값 할당
    num1 = 10
    num2 = 20

    ' If...Else 문을 이용한 비교 및 결과 출력
    If num1 > num2 Then

        MsgBox "The number " & num1 & " is greater than " & num2, vbInformation, "Result"

    ElseIf num1 < num2 Then 

        MsgBox "The number " & num2 & " is greater than " & num1, vbInformation, "Result"

    Else 

        MsgBox "The numbers are equal.", vbInformation, "Result"

    End If

End Sub

For Next 예제

Sub PrintNumbers()

    ' 변수 선언
    Dim i As Integer

    ' For...Next 루프를 이용한 숫자 출력
    For i = 1 To 10

        Debug.Print i   ' Immediate Window에 숫자 출력

    Next i

End Sub

For Each Next 예제

Sub CheckCellValues()

    ' 변수 선언
    Dim rng As Range
    Dim cell As Range

    ' A1:C3 범위 설정
    Set rng = ThisWorkbook.Sheets("Sheet1").Range("A1:C3")

    ' For Each...Next 루프를 이용한 셀 값 확인 및 출력
    For Each cell In rng

        Debug.Print cell.Value   ' Immediate Window에 셀 값 출력

    Next cell

End Sub

For loop & If .. Else 복합 예제

Sub IdentifyOddEvenNumbers()

    ' 변수 선언
    Dim i As Integer

    ' For...Next 루프와 If...Else 문을 이용한 홀수, 짝수 구분 및 출력
    For i = 1 To 10

        If i Mod 2 = 0 Then   ' 숫자를 2로 나눈 나머지가 0이면(즉, 짝수이면)

            Debug.Print i & " is an even number."

        Else   ' 그렇지 않으면(즉, 홀수이면)

            Debug.Print i & " is an odd number."

        End If

    Next i

End Sub

과제 : vba for loop 를 활용하여 아래 같은 삼각형을 출력해보세요~

해답(밤하늘의 은하수 만큼은 아니지만 많은 방법 중 두가지만 소개합니다.)

Sub cells_test()

    Dim i As Integer
    Dim j As Integer

    For i = 1 To 10

        'Debug.Print (i)
        For j = 1 To i

            Cells(i, j).Value = ""

        Next

    Next

End Sub
'주의 Sub 이름() 을 중복해서 사용하면 오류남. 따라서 유의미한 이름작명 필요  
Sub rng_test()

    Dim i As Integer
    Dim j As Integer

    For i = 1 To 10

        For j = 1 To i

            Range("A1").Offset(i - 1, j - 1).Value = "*"

        Next j

    Next i

End Sub