[데이터처리와활용] 12강. 엑셀 VBA 활용 총정리

엑셀 VBA 활용 총정리 — 매크로, 제어문, 배열, 함수, 통계분석까지 완벽정리

안녕하세요! 이번 글에서는 엑셀 VBA 강의의 마지막 강의인 엑셀 VBA 활용 총정리 내용을 기초부터 꼼꼼하게 정리해보겠습니다.
매크로 작성법, 제어문, 배열, 프로시저, 함수 작성법, 그리고 통계분석 프로그램 제작까지 한 번에 정리하는 시간이니 꼭 끝까지 따라와 주세요!


1. 매크로(Macro)란?

매크로는 여러 명령을 묶어 하나의 명령처럼 실행하는 자동화 도구입니다.
엑셀에서는 VBA로 매크로를 작성해 반복작업을 버튼이나 단축키로 쉽게 실행할 수 있습니다.

매크로 사용 설정

  • 파일 → 옵션 → 리본 사용자 지정 → 개발도구 체크

  • 개발도구 → 매크로 보안에서 설정 변경

절대 참조 매크로 실습

  1. 개발도구 → 매크로 기록

  2. C2셀에 =B2^2 입력 → 드래그 복사

  3. 기록 중지 → VBA 코드 확인 가능

매크로 실행 버튼 만들기

  • 개발도구 → 삽입 → 양식 컨트롤 → 버튼

  • 버튼 생성 후 매크로 연결

2. VBA 프로그램 기본 문법

Sub 프로시저

1
2
3
Sub 첫발자국()
MsgBox “안녕하세요!”
End Sub
cs

 

한 줄에 여러 명령어

1
i=5: j=6: MsgBox i+j
cs

 

여러 줄 명령어 연결

1
2
MsgBox “반갑습니다.” & _
“좋은 하루 되세요”
cs

 

3. 제어문

If-ElseIf-Else

1
2
3
4
5
6
7
If A > 0 Then
MsgBox “양수”
ElseIf A = 0 Then
MsgBox “0”
Else
MsgBox “음수”
End If
cs

 

Select-Case 문

1
2
3
4
5
6
7
8
Select Case 값
Case 0
MsgBox “0”
Case 1
MsgBox “1”
Case Else
MsgBox “기타”
End Select
cs

 

4. 반복문

Do While

1
2
3
4
5
i=1
Do While i<10
Cells(i,1)=i
i=i+1
Loop
cs

 

For-Next

1
2
3
For i=1 To 5
Cells(i,1)=i*10
Next i
cs

 

5. 배열

1차원 배열 선언

1
Dim test(9As Integer
cs

 

Array 함수로 선언

1
myArray = Array(“가”,“나”,“다”)
cs

 

다차원 배열

1
Dim myMtx(1 To 31 To 3)
cs

 

Split 함수로 문자열 나누기

1
myArray = Split(“A|B|C”,“|”)
cs

 

6. 프로시저와 함수 작성

프로시저

1
2
3
Sub myWork()
Call bgColor(1,1)
End Sub
cs

 

함수

1
2
3
Function myAdd(a,b)
myAdd = a + b
End Function
cs

 

7. 통계분석 VBA 프로그램

표준정규분포 백분위수 계산

1
2
3
prob = InputBox(“누적확률값을 입력하세요”)
percentile = Application.NormSInv(prob)
MsgBox “백분위수: “ & percentile
cs
NormSInv 함수
표준정규분포(평균 0, 표준편차 1)의 누적확률값(prob)을 넣으면
그에 해당하는 Z값(백분위수)를 반환.

중요 내용 정리

  • 매크로로 반복 작업 자동화

  • If-Else, Select-Case로 조건 제어

  • Do While, For-Next 반복문으로 반복 처리

  • 배열로 데이터 집합 관리

  • 프로시저/함수로 명령어 묶음 구성

  • VBA 통계분석으로 실무 자동화 가능

 


객관식 문제

1. VBA에서 매크로를 실행하려면 가장 먼저 어디서 설정을 변경해야 하는가?
① 파일 → 인쇄
② 보기 → 매크로
③ 파일 → 옵션 → 리본 사용자 지정
④ 홈 → 찾기 및 선택

정답: ③

2. Select-Case문에서 Case Else의 역할은?
① 오류 방지
② 아무것도 없을 때 기본값 실행
③ 변수 초기화
④ 프로그램 종료

정답: ②

3. 다음 중 3×3 행렬형 배열을 선언하는 방법은?
① Dim A(3,3)
② Dim A(1 To 3, 1 To 3)
③ Dim A(3)
④ Dim A As Array

정답: ②

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다