삼남매 아빠 = 애국자
- 도구 > 매크로 > 보안 메뉴에서 보통으로 하면 파일을 열 때 매크로를 포함할 것인지 선택할 수
있으므로 이 설정을 권장합니다.
- 시트에서 Alt + F11로 편집창을 열 수 있으며 Alt + F8로 매크로를 실행할 수 있습니다.
- 도구 > 매크로 > 기록을 선택하면 그 순간부터 정지 버튼을 누를때까지 임의의 Procedure에 일련의
동작이 기록되므로 코딩의 양을 상당히 줄일 수 있습니다.
- VBA는 line단위로 실행되므로 문장 끝이라는 기호가 따로 필요치 않습니다.
굳이 기록할 수는 있지만, 권장하지 않겠습니다.
- VBA를 사용하는 경우는 주로 loop의 수행이 많으므로 Excel의 기본 기능을 이용하여 Data를 loop
수행에 적합한 형태로 만드는 것이 중요합니다.
- 변수 선언은 "dim 변수명 as 데이터타입"으로 선언합니다.
- Macro procedure는 [Public|Private] Sub로 시작하여 End Sub으로 끝납니다.
(Function은 결과를 Return합니다. - 초보자에게 비권장 - )
- VBA에서 주로 사용하는 DataType에는 Integer와 String이 있으며 그 외의 타입은 사용하지 않아도
어느정도 까지는 VBA 프로그램을 작성하는 것이 가능합니다.
- 간혹 숫자의 크기가 너무 커서 Double 타입을 사용하기도 합니다.
- IF 구문은 IF condition Then statements [Elsif Then statements … Else statements] End IF
형태입니다.
- Else if와 Elsif 의 차이는 일반적인 프로그래밍에서의 ELSE IF는 VBA에서는 ElseIf로(공백없이)
사용되며, VBA에서의 Else if는 Else 절 안에 포함되어 있는 IF로 해석됩니다.
- For 구문은 다음 예시와 같은 형태를 가집니다.
- ex >>
Dim loopCount As Integer
For loopCount = 0 To 100
statements
Next loopCount
- While 구문은 loop의 횟수가 명확하지 않은 경우에 주로 사용되지만, 잘 못 수행하면 Excel이 작동
불능이 되므로(이미 열려있던 엑셀 문서 전체가) 가급적 사용하지 않는 것이 좋습니다.
- While 구문은 While condition statements Wend 형태이며, 중간에 일정 조건이 되면 While을 중지
해야 하므로 주로 IF문과 함께 사용됩니다.
- 프로그램적으로 특정 셀을 선택할 때는 Sheets("sheet name").Range("cell position").Select 을
사용합니다.
- 위에서 선택된 셀을 기준으로 ActiveCell.Offset(row, column)를 사용하여 위치를 이동해 가며
연산합니다.
- 실습문제는 Samples 시트에 있는 테이블 컬럼 명세서로 Create 문장을 만들어서 Results 시트의
셀에 입력하는 것입니다.
** 코드 등은 첨부 파일을 참조하세요.