본문 바로가기

공부/VBA

[VBA] 프로그래밍 기초


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