posted by dalnimbest 2014. 2. 10. 14:22

VBA를 안한지 한참 되었다가 다시 할려니 기본적인것이 생각이 안나서 기존 자료보면서 한참 찾았었다... 여러가지가 있겠지만... 일단 생각나는대로 정리해본다.


* 변수 선언 및 값넣기

Dim rngOne As Excel.Range    '엑셀의 Range객체

Dim strOne As String                '문자

Dim arrOne() As String            '배열

Dim dicOne As Dictionary   'dictionary를 사용하기 위해서는 도구 - 참조 로 가서 Microsoft Scripting Runtime을 참조해주어야 한다.


'객체는 Set을 써서 값을 넣어줘야 한다.

set rngOne = ThisWorkbook.Worksheets("쉬트명").Range("A1")


'dictionary는 사용전에 New를 해준다.

Set dicOne = New Dictionary

dicOne .Add Key:=키값, Item:=Value값



* if 문, for 문, while문


If (dic_Tool_Type.Item(ProcNoInDic) = 1) Then

    str_default_args = "type=1," & ""

ElseIf (dic_Tool_Type.Item(ProcNoInDic) = 2) Then

    str_default_args = "type=2," & ""

Else

    str_default_args = "ERROR : There is no tool type"

End If


'ProcNoInDic 는 variant형으로 해야한다.

For Each ProcNoInDic In dic_strAllLines


Next


For i = 0 To Len(strResult) - 1


next i



Do While 조건(참)


Loop



* prosedure와 function


'배열을 리턴할때는 마지막에 As String()로 한다.

Public Function returnExtOnlyInDic(dicOne As Dictionary, LineDelimiter As String) As String


returnExtOnlyInDic = "리턴될값"        '함수명에 들어가는 값이 리턴 되는 값이다.

End Function


Private Sub btnConvertToMMCNode()


On Error GoTo ErrorHandler:  '에러가 발생하면 ErrooHandler:로 가라는 뜻


MsgBox "정상종료"

Exit Sub  '이문장이 없으면 아래로 내려간다.

ErrorHandler:

    MsgBox "에러발생" & Err.Description

End Sub



* 문자열 조작

'문자열의 결합은 &로 연결해준다.

strResult = strPath1 & vbCrLf & strPath2



*기타


'전체에서 사용되는 변수/상수 만들기

Private Const strErrPrefix As String = "[ERROR] "    'Sub위에 적어준다. 보통 Option Explicit 바로 밑에 적어준다.


'실행 중간에 pause할수 있게... 보통 순환문 안에 넣어준다.

DoEvents







'IT > VBA' 카테고리의 다른 글

진행상황을 WorkSheet에서 알기  (0) 2014.03.01
cell내의 색상 선택하기  (0) 2014.02.28