VBA 언어요소: 개관 (p.79)
· 주석: '기호로 시작되는 줄
o Rem 키워드도 사용가능
· 한 줄에 복수의 명령문 사용시: 콜론(:)을 기호로 구분
· 줄 연결기호: 빈칸+밑줄 부호(_)
· VBA변수는 대,소문자를 구분하지 않음
o Dim 등의 구문을 통해 선언된 변수의 경우 제외
· VBA 내장 데이터 형식
o Byte: 1바이트, 0~255까지숫자범위
o Integer: 2바이트, -32768~32,767까지숫자범위
o Boolean: True또는false 와같은논리형데이터형식
o Long: 4바이트, integer형보다더큰숫자범위를지정
o Single: 4바이트, 실수형표시
o Double: 8바이트, single보다더큰실수형수치범위를지정
o Currency: 8바이트, 정수형데이터표시
o Decimal
o Date
o Object
o String
o Variant: 기본형식으로 숫자, 문자에 사용 가능
· 가장 적은 메모리 사용하는 데이터 형식 사용 권장
· TypeName 함수: 변수의 데이터 형식 확인
· 선언하지 않은 변수의 데이터 형식은 자동 변환된다
o 속도와 메모리를 희생
· Option Explicit
o 모듈의 첫줄에 명시
o 모든 변수의 선언을 강제
· 변수의 사용 범위
o 단일 프로시저
· 프로시저 내에서 Dim, Static, Private명령 사용
o 단일 모듈
· 모듈의 첫 프로시저 앞에 Dim명령 사용
o 모든 모듈
· 모듈의 첫 프로시저 앞에 Public명령 사용
· 데이터 형식 선언 문자
o Dim MyVar%
Integer |
% |
Long |
& |
Single |
! |
Double |
# |
Currency |
@ |
String |
$ |
· 상수 선언
o Const 명령 사용
· 문자열
o Dim MyString As String * 50
· 고정길이
o Dim YourString As String
· 가변길이
· 날짜와 시간
o 두 개의 # 기호로 둘러싸서 표시
o Dim Today As Date
o Const FirstDay As Date= #1/1/2001#
o Const Noon = #12:00:00#
o 날짜 변수는 시스템 날짜 형식에 따라서 표시
· 연산자
o +, -, *, /
o 제곱기호 (^)
o 문자열 연결기호 (&)
o 정수 나눗셈 (\)
o 나머지 나눗셈 (Mod)
o 비교 연산자: =, >, <, <=, >=, <>
o 논리 연산자: Not, And, Or, XoR, Eqv, Imp
· 배열
o Dim MyArray (0 To 100) As Integer
o Dim MyArray (100) As Integer
o Option Base 1
· 모듈의 프로시저 앞에 주는 명령문
· 모든 배열에 대해서 하위 인덱스 번호를 1로 설정
o 2차원 배열
· Dim MyArray (1 To 10, 1 To 10) As Integer
o 동적배열
· Dim MyArray() As Integer
· ReDim, ReDim Preserve
· 개체 변수
o C에서 구조체 대신 구조체 포인터를 사용하는 개념
Sub NoObjVar()
Worksheets("Sheet1").Range("A1").Value = 124
Worksheets("Sheet1").Range("A1").Font.Bold = True
Worksheets("Sheet1").Range("A1").Font.Italic = True
End Sub
Sub ObjVar()
Dim MyCell As Range
Set MyCell = Worksheets("Sheet1").Range("A1")
MyCell.Value = 124
MyCell.Font.Bold = True
MyCell.Font.Italic = True
End Sub
· 사용자 정의 데이터 형식
o C의 구조체와 같은 개념
Type CustInfo
Company As String * 25
Name As String * 10
RegionCode As Integer
End Type
· 내장함수
o VBA함수
o 워크시트 함수: Application.WorksheetFunction
· With-End With 구문
· For Each-Next 구문
· GoTo
· If-Then
· IIF
· Select Case 구문
· For-Next 구문
· Do While 구문
· Do Until 구문
Sub Macro1()
If Worksheets(1).Range("A1").Value = "Yes!" Then
Dim i As Integer
For i = 2 To 10
Worksheets(1).Range("A" & i).Value = "OK! " & i
Next i
Else
MsgBox "Put Yes! in cell A1"
End If
End Sub
Pasted from <http://msdn.microsoft.com/en-us/library/ee814735.aspx>
'공부 > VBA' 카테고리의 다른 글
[VBA] ByVal 키워드 사용 (0) | 2011.03.08 |
---|---|
[VBA] 간단한 소개 (0) | 2011.03.04 |
MS Excel Object Model (0) | 2011.03.04 |