오늘 끝나면
변수와 타입
- ✓변수와 타입의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 변수와이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
Dim — 값을 담는 그릇과 자료형 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
엑셀 VBA · 03
변수와
타입
Dim 으로 값을 담을 그릇을 만듦.
그릇마다 담는 종류가 정해짐 — 정수·글자·소수·참거짓.
셀 값을 그릇에 담으면 코드에서 마음껏 다룸.
Dim — 값을 담을 그릇 만들기
변수는 값을 담아두는 그릇임. Dim 한 줄로 만듦.
Dim 점수라고 쓰면 ‘점수’라는 이름의 빈 그릇이 생김.
뒤에 As Integer 를 붙이면 정수만 담는 그릇이 됨.
Dim 점수 As Integer — 정수를 담을 변수 점수를 선언함.
이름은 마음대로 짓되 한글·영문·숫자·밑줄만 됨.
숫자로 시작 못 하고, 띄어쓰기도 안 됨.
한 번 만든 그릇은 코드 어디서든 이름으로 꺼내 씀.
Dim 점수 As Integer
자료형 — 그릇마다 담는 게 다름
As 뒤에 적는 게 자료형임. 그릇이 무엇을 담을지 정함.
Integer 는 정수 / Double 은 소수까지 / String 은 글자 / Boolean 은 참(True)·거짓(False).
숫자 그릇에 글자를 넣으려 하면 형 변환 오류가 남.
자료형을 정해두면 엉뚱한 값이 들어오는 걸 막아줌.
정수 그릇에 88.6 을 담으면 반올림돼 89 로 들어감.
타입을 알아야 결과가 왜 그렇게 나오는지 보임.
| As 타입 | 담기는 예 |
|---|---|
| Integer | 89정수만 · 소수는 반올림 |
| Double | 88.6소수까지 그대로 |
| String | "홍길동"글자 · 따옴표로 감쌈 |
| Boolean | True참 / 거짓 둘 중 하나 |
타입이 안 맞으면 형 변환 오류남
담고 · 재사용 — 직접 굴려 봄
오른쪽에서 직접 해봄. 셀 값을 변수에 담고, 타입을 바꿔 차이를 봄.
A1 값을 바꾸고, As 옆 타입 버튼을 눌러 보셈.
같은 88.6 이라도 Integer 면 89, Double 이면 88.6, String 이면 "88.6" 으로 담김.
여기서 핵심은 = 임.
점수 = Range("A1").Value는 ‘같다’가 아니라 ‘담아라’임.
오른쪽 값을 왼쪽 그릇에 넣는 대입임.
정수만. 소수는 반올림됨
Dim 점수 As Integer
점수 = Range("A1").Value
MsgBox 점수A1의 "88.6" 가 Integer 그릇에 정수로 반올림돼 들어감.
셀 값을 변수로 가져오기
변수가 진짜 쓸모 있어지는 순간은 셀 값을 담을 때임.
Range("A1").Value 는 A1 칸에 적힌 값임.
이걸 점수 = Range("A1").Value 로 변수에 담음.
이제 시트를 안 봐도 점수 라는 이름으로 그 값을 계속 씀.
한 번 담아두면 여러 줄에서 재사용함.
점수 * 2, 점수 + 10 처럼 굴리고, 다시 Range("B1").Value = 점수 로 셀에 써넣음.
셀을 코드로 읽고 쓰는 길은 다음 4강 Range·Cells 에서 더 파봄.
점수 = Range("A1").Value이제 점수 * 2 처럼 코드에서 굴림
정리 — 그릇 · 종류 · 대입
오늘 세 가지를 손에 쥠. 그릇 만들기 · 종류 정하기 · 값 담기.
Dim 이름 As 타입 으로 선언하고, 이름 = 값 으로 담고, 이름 으로 꺼냄.
타입을 알면 값이 어떻게 변환돼 들어가는지 예측됨.
Q. Dim x As Integer 의 뜻은?
정수를 담을 변수 x 를 선언함.Dim = 그릇 만들기 / x = 그릇 이름 / As Integer = 정수만 담는 종류.
이 그릇에 88.6 을 담으면 반올림돼 89 가 들어감.
Dim 점수 As Integer
점수 = Range("A1").ValueMsgBox 점수 * 2
그릇 · 종류 · 담기 — 이게 변수 전부임