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