매크로 & VBA 강사 허소영
Tranning 1. 매크로 기본 매크로 기록하기 매크로 실행 매크로 코드 편집 자동 필터 매트로 고급 필터 매크로 직접 매크로 입력 개체, 컬렉션, 속성, 매서드 허소영
MsgBox / InputBox 함수 MsgBox 대화상자에 메시지를 표현한다. 형식 MsgBox(prompt, buttons, title) prompt : 대화상자에 표시할 메시지 buttons : 표시할 단추의 수와 형식 지정, 생략시 [확인]만 title : 대화상자의 제목 표시줄에 나타낼 제목 예제 MsgBox “Hello~!” InputBox 대화상자를 표시하고 사용자가 입력한 내용을 반환 형식 InputBox(prompt, title, default) prompt : 대화상자에 표시할 메시지 title : 대화상자의 제목 표시줄에 나타낼 제목 default : 입력란에 기본적으로 표시할 텍스트 예제 고객이름 = InputBox(“이름을 입력”, “고객인증”, “홍길동”) 허소영
액셀 개체 / 컬렉션 액셀 개체 (Object) 컬렉션(Collection) 분리되는 하나의 단위로, 어떤 작업의 대상을 의미 통합 문서, 워크시트, 셀, 차트, 그래픽 등 엑셀을 구성하는 요소 컬렉션(Collection) 특정 개체가 아니라 같은 종류의 개체를 묶어 놓은 개념 여러 개체의 모임이므로 컬렉션에서 특정 개체 하나를 참조하기 위한 방법이 필요 개체 지정 방법 워크시트 컬렉션 Worksheets 이름이 ‘성적’인 워크시트 개체 Worksheet(“성적”) 세 번째에 있는 워크시트 개체 Worksheet(3) 통합문서 컬렉션 Workbooks 이름이 ‘성적현황.xls’인 통합문서 개체 Workbooks(“성적현황.xls”) ‘성적현황.xls’ 통합문서의 5번째 워크시트 Workbooks(“성적현황.xls”).Worksheets(5) 허소영
개체의 속성(Property) 속성(Property) 개체의 이름이나 값, 크기, 색 등 개체의 특성이나 상태를 의미 개체.속성, 개체.속성=속성값 예제 설명 Worksheets(1).Name 1번 워크시트 개체의 이름 속성을 참조 Range(“A1:C5”).Count [A1:C5] 영역의 개수(Count) 속성을 참조 Range(“A5”).Value=“Hello” [A5] 셀의 값(Value) 속성을 ‘Hello’로 설정 ActiveCell.Font.Bold = True 현재 셀(ActiveCell)의 글꼴 굵게 속성을 True로 설정 허소영
개체의 매서드(Method) 매서드(Method) 개체에 대하여 실행할 수 있는 동작, 행동 예로 워크시트 개체의 복사(Copy), 삽입(Insert), 삭제(Delete) , 선택(Select) 등 속성과 마찬가지로 개체마다 다른 매서드를 지원한다. 개체.매서드 예제 설명 ActiveSheets.PrintOut 현재시트(Activesheets)를 인쇄(PrintOut) Range(“A1:C5”).Select [A1:C5] 영역을 선택(Select) Range(“A1:C5”).Clear [A1:C5] 영역을 모두 지우기(Clear) Worksheets(“Test”).Delete “test” 워크시트를 삭제(Delete) 허소영
IF문 IF 조건식 THEN 실행문 IF 조건식 THEN 실행문1 ELSE 실행문2 END IF IF 조건식 THEN 실행문1 ELSEIF 조건식 THEN 실행문2 : ELSE 실행문n END IF 허소영
Select case문 Select case 식(또는 변수) Case 값1 실행문1 [Case 값2 실행문2 : : Case Else 실행문n ] End Select 허소영
For ~ Next문 / For Each For 제어변수 = 초기치 To 최종치 [Step 증감치] 실행문 : : Next [제어변수] For Each 개체변수 In 컬렉션 개체 실행문 : : Next [개체변수] 개체변수는 반드시 컬렉션개체와 동일한 자료형을 가져야 한다 허소영
셀범위 지정 키워드 키워드 예 Range(“셀주소”) Cells(행번호, 열번호) Offset(행이동, 열이동) Range(“A1”)와 같이 셀 주소를 문자열 형태로 입력, 지정 Cells(행번호, 열번호) Cells(1,1) – 행과 열번호를 숫자로 지정하여 셀 지정 Offset(행이동, 열이동) 선언된 셀을 기준으로 상대적인 위치를 지정 Rows(행번호) 행번호를 지정하여 해당 행 전체를 지정 Columns(열번호) 열번호를 지정하여 해당 열 전체를 지정 CurrentRegion 앞에 선언된 셀을 기준으로 연속된 영역 전체를 지정 End(방향) 앞서 선언된 셀기준으로 지정한 방향의 연속된 마지막 데이터의 끝영역을 지정 위(xlUp), 아래(xlDown), 왼쪽(xlToLeft), 오른쪽(xlToRight) EntireColumn 현재 선택한 셀의 열 전체를 지정 EntireRow 현재 선택한 셀의 행 전체를 지정 허소영