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