스터디내용
윈도우필수 단축키, 변수선언, if else, for loop
Vㅇㅅㅇ V
2023. 9. 5. 17:15
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