본문 바로가기
엑셀/VBA

[엑셀]VBA입문(2)-변수

by 이지블로그 2020. 9. 6.

이전글

[엑셀]VBA입문(0)-VBA란?

[엑셀]VBA입문(1)-VBA실행법

 

 

 


오늘은 변수에 대해 알아봅시다.

먼저 프로그래밍에 있어서 변수

숫자, 문자와 같은 값들을 저장하기 위해  부여한 이름으로 값을 담는 공간을 의미합니다.

 

변수는 크게 논리 값, 숫자, 문자, 개체 4가지로 나눌 수 있습니다.

논리값 Boolean
숫자(정수) Integer, Long, Longptr, LongLong
숫자(실수) Double, Currency (화폐단위)
문자 String
개체 Object

 

그리고 세부적으로는 이렇게 있습니다.

 

 데이터형

저장 용량

설명 

 Byte

 1바이트

0~255까지의 정수 

 Integer

 2바이트 정수 

-32768~32767까지의 정수 

 Long

 4바이트 정수

-2,147,483,648~2,147,483,647까지의 정수

 Single

 4바이트 부동 소수

음수인 경우: -3.402823 E38~1.401298 E-45까지

양수인 경우: 1.401298 E-45~3.402823E38까지의 실수

 Double

 8바이트 부동 소수

음수인 경우: -1.79769313486232 E308~-4.9406564841247 E-324까지

양수인 경우: 4.94065645841247 E-324~1.79769313486232E308까지의 실수 

 Date

 8바이트

100년 1월 1일부터 9999년 12월 31일까지의 날짜와

 0:00:00부터 24:59:59까지의 시간 표현

 Currency

 8바이트 고정 10진 소수

 정수 부분 열다섯 자리와 소수점 이하 네 자리의 고정 소수점을 지정하기 위해 

10,000 단위로 구분한 정수 형식

-922,337,203,685,477.5808부터 922,337,203,685,477.5807까지 표현 가능

 String

 문자열 길이

가변 길이 문자열은 대략 2조 개까지의 문자 포함

고정 길이 문자열은 1부터 대략 65,400개까지의 문자 포함

 Variant

 16바이트

날짜/시간, 부동 소수, 정수, 문자열 또는 개체

숫자 Variant는 Double형까지 변환

문자 Variant는 가변 String과 같은 범위 

 Boolean

 2바이트

 True / False 값만 가짐

0은 False로, 그 외 값은 True로 인식

 Object

 4바이트

 개체의 종류에 따라 Range, Worksheet, Workbook 등과 같이 

적절한 개체형을 지정하거나 Object라는 일반적인 개체 형태로 지정 가능

개체 변수에 값을 지정할 때는 반드시 Set문 사용

 User-defined

 Type문으로 선언된 

요소의 크기

Type문을 사용해서 만든 사용자 정의 형식 

 

표만 보고 너무 많아서 이걸 어떻게 외우나 걱정하실 필요는 없습니다.

많이 쓰는 변수는 정해져 있고 제가 지금부터 알려드리겠습니다.

 

 Long

숫자

 String

문자

 Object

개체

 

이 3가지만 알아도 대부분은 문제없이 하실 수 있습니다.

 

 

그렇다면 이 변수를 어떻게 사용하느냐

변수를 사용하기 위해선 선언을 해야 하는데 기본적으로 변수를 선언할 때는 Dim을 사용합니다.

Dim의 사용법은 아래와 같습니다.

Dim (변수) As (데이터 형식)
Dim a As Long, b As Long, c As Long

이런 식으로 여러 개를 선언할 수도 있는데 이때 주의해야 할 점은

Dim a, b, c As Long

이런 식으로 선언하게 된다면 a와 b는 long형식이 아닌 Variant로

꼭 As (형식)을 하나씩 해주어야 됩니다.

 

 

그럼 엑셀을 켜고 본격적으로 해봅시다.

VBA창을 여셔서 모듈을 추가하고 sub는 마음대로 입력해 봅시다.

Sub test()

     Dim i As Long

End Sub

그리고 i를 long형식으로 선언했습니다.

변수를 선언할 때 꿀팁이 있다면 long형식이면 Loi, string형식이면 Sti 등 알아보기 쉽고 하나는 대문자를 사용하는 것입니다.

대문자를 사용하는 이유는 VBA에서 변수를 입력할 때 제대로 인식이 된다면 대문자와 소문자를 알아서 바꿔주기 때문에 코딩을 하면서 소문자로 입력을 했는데 대문자가 되면 제대로 하고 있다는 것을 알기 쉽기 때문입니다.

 

이어서 계속하면 A1번 셀에 1, A2번 셀에 2... A10번 셀에 10이 나오게 코딩을 해보겠습니다.

 

Sub test()
     Dim i As Long
     For i = 1 To 10
          Cells(i, 1) = i
     Next
End Sub

For Next 같은 경우에는 다음 시간에 반복문을 할 때 자세하게 배우겠지만 i를 1부터 10까지 반복한다는 뜻입니다.

 

이렇게 입력을 하고 F5를 눌러 실행을 해보면

 

이렇게 잘 되는 것을 확인할 수 있습니다.

 

그럼 다음시간에는 반복문에 대해 알아보도록 하죠.

 

다음글

[엑셀]VBA입문(3)-반복문

 

[엑셀]VBA입문(3)-반복문

이전글 [엑셀]VBA입문(0)-VBA란? [엑셀]VBA입문(1)-VBA실행법 오늘은 반복문에 대해 알아봅시다 반복문의 종류는 for , for each , do while, do until 등이 있습니다. 그중 저희가 오늘 알아볼 건 for, for each..

ezblog.tistory.com

 

반응형