![[VBA 제 11강] - 변수란무엇인가Ⅰ 썸네일 이미지 [VBA 제 11강] - 변수란무엇인가Ⅰ 썸네일 이미지](/smartediter/upload_img/thum_1538097048.png)
엑셀쿠키는 한 번의 다운로드로 평생 이용하실 수 있습니다. 프로그램과 데이터를 고객의 PC에 저장하여 사용하는 형식이라 안전하게 사용 가능합니다. 이용 기간에 따른 추가 비용이 발생하지 않아 매우 경제적입니다.
중소기업의 개별 특성, 다양한 업무를 상황별로 고려하여 제작된 프로그램을 업데이트합니다. 분야별 5,000여 개의 프로그램 중 내 업무에 맞는 프로그램을 다운받는 맞춤형 서비스입니다.
쿠키 프로그램은 MS Excel의 기본 사용법만 알면 즉시 사용할 수 있는 매운 쉬운 프로그램으로 누구나 손쉽게 배우고 사용할 수 있습니다.
중소기업의 모든 업무자동화!
쿠키의 업무자동화 프로그램은 VBA 코드로 개발된 제품으로
MS Excel 프로그램 기반으로 사용 가능하며,
자체적으로 개발한 기능은 물론,
MS Excel의 강력한 기능을 모두 사용하실 수 있습니다.

엑셀쿠키는 기업의 생산성을 높이는 업무자동화 지원 프로그램입니다.
[ 기초 강좌 ]
제 11 강
변수란 무엇인가Ⅰ
Excel의 생명이라고 할 수 있는 변수를
알아봅니다.
이럴 때 필요해요
변수는 수시로 변하는 어떤 값을 말합니다.
이렇게 사용해요
먼저, 아래 그림처럼 표를 작성해봅니다.
그리고, 아래의 수식을 따라 적고 실행해봅니다.
Sub 변수란무엇인가() |
Sheet1의 B7셀에 있는 값은 i라는 그릇에 담아두고,
Sheet1의 B8셀에 있는 값을 j라는 그릇에 담아 둔 후
이 두개의 셀에 있는 값을 곱한 것을 다시 K라는 그릇에
담아 둔 후 B9셀에 k라는 그릇에 담긴 값을 표시하게 한것입니다.
이렇게 하면, 아래와 같은 결과가 나올 것입니다.
Dim은 Dimension의 줄임말로 '변수선언'이라고 합니다.
프로그래밍을 배울 때 가장 신경쓰이지만 또한 가장 중요한 것이 바로 이 변수선언 입니다.
그렇다면, 변수란 무엇이고, 또 이것을 선언한다는 것은 무엇인가?
위의 예에서와 같이 변수라는 것은 "수시로 변화하는 어떤 값을 담아두는 그릇"이라고도 할수 있습니다.
그런데 이그릇에는 사이즈가 정해져 있고, 또 각 사이즈별로 많은 종류의 그릇, 즉 변수가 준비되어 있습니다.
쉽게 설명하자면, 여러분의 집 주방에 있는 그릇들을 한번 떠 올려 보세요.
밥을 담는 밥 그릇, 국을 담는 국 그릇, 반찬 그릇, 간장 종지, 큰 대접 등등
얼마나 많은 그릇들이 있습니까? 그렇지만, 설마 간장을 국 그릇에 부어 놓고
먹는 사람은 없겠지요. 변수도 마찬가지입니다.
각 상황에 맞는 그릇들을 모두 준비해 두었기 때문에 종류가 많은 것입니다.
이해를 돕기 위해, B7 이나 B8 셀에 큰 숫자(예: 100000) 를 입력하신 다음, Alt + F11 키를 눌러서 코드를 다시 실행시켜 보시기 바랍니다.
"오버플로(Overflow)"라는 에러 메시지가 나타 나지요?
이것은 준비한 그릇의 싸이즈보다 더 큰 값이 들어 오니까 넘쳐서 나타 나는 에러입니다.
그럼, 이번엔 모듈시트의 코드창으로 가서 Dim i, j, k As Integer 부분의 Integer 대신에 Double이라고 고쳐 넣고 나서, B7 셀에 100000 이라는 숫자를 입력하신 다음, 다시 실행해 보시기 바랍니다.
이제는 아무리 큰 값을 넣어도 제대로 실행이 되지요?
이것이 바로 변수의 타입, 즉 종류인 것입니다.
(참고로, Integer는 정수형 변수타입이라고 합니다.)
그러면, 또 아래와 같은 의문이 들지 않습니까?
"그렇다면 처음 시작할 때 부터 큰 변수타입으로 선언하면 될텐데 무엇 때문에 작은 변수를 선언하나요?"
라면 하나 끓이는 데 가마솥을 걸어 놓고 끓이는 사람은 없겠지요?
그 이유는 바로, 비경제적이기 때문입니다. 컴퓨터에서 그릇은 메모리와 직결됩니다.
즉, 큰 그릇을 많이 준비하면 할수록 시스템의 성능저하로 연결될 수 있기 때문이지요.
다음은, 다시 아래의 수식을 적어 실행해 보시기 바랍니다.
Sub VolubleTest() Dim i As Integer
|
앞에서 설명드린 바와 같이, 먼저 i 라는 정수형 변수를 선언해 줍니다.
For … Next 구문은 예를 들어,
For i = 1 To 100
.....(기타수식) ...
Next
라고 하게 되면 ".....(기타수식)..." 라는 명령을 1에서 100, 즉 100번 수행하라는 뜻입니다.
따라서, 만약에 For … Next 라는 구문이 없다면 이 경우, 즉 특정영역(A60:A67)에 "변수란 무엇인가"라는 문자값을
출력하려면 어떻게 해야 될까요?
아래와 같이 일일이 각 셀의 값을 모두 지정해 주어야 겠지요?
Cells(60, 1) = "변수란 무엇인가"
Cells(61, 1) = "변수란 무엇인가"
Cells(62, 1) = "변수란 무엇인가"
................
................
Cells(67, 1) = "변수란 무엇인가"
라고 코딩해야 될 것을 아래와 같이 단 한줄의 코드로 처리할 수 있습니다.
Cells(i, 1) = "변수란 무엇인가"
Cells(i, 1), 즉 1열(A열)의 i 행(앞서, For i = 60 To 67 부분에서 정의된 60행 부터 67행 까지) 에 "변수란 무엇인가"라는 문자값을 출력합니다.
즉, 먼저 Dim i As Integer 라고 변수 i 에 대해 정수형 변수타입임을 선언해 준 다음에
For i = 60 To 67 라고 정의하였으므로, i 라는 변수를 60 부터 61, 62 … 67 까지의 숫자로
인식하게 되는 것입니다.
2. 다운로드 받은 콘텐츠는 본인(본인회사)만 사용할 수 있습니다.
3. 다른 사람과 공유하거나 원본 또는 수정 후 무단전제,무단배포,무단판매,무단 공유할 수 없습니다.
4. 웹상에서 배포는 상업,비상업적 목적을 불문하고, 손해배상등 가중처벌됩니다.
![[VBA 제 11강] - 변수란무엇인가Ⅰ [VBA 제 11강] - 변수란무엇인가Ⅰ](/common/images/cmm/view_middel.jpg)