이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
엑셀장인의 엑셀 매크로 & VBA 마스터링 북
장기영
디지털북스 2014.06.25.
베스트
IT 모바일 top100 7주
가격
43,000
10 38,700
YES포인트?
2,150원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

오피스 실무 역량 강화 프로젝트

책소개

목차

PART 01 매크로 소개 및 기초

CHAPTER 01매크로의 쓰임새
001 반복 작업 자동화
002 수식의 복잡성
003 수식의 속도저하

CHAPTER 02매크로 vs VBA
001 엑셀 매크로
002 엑셀 VBA (Visual Basic For Applications)
003 엑셀 매크로와 VBA의 코드 비교

CHAPTER 03표 (테이블) 용어
001 표 (테이블) 용어

CHAPTER 04매크로 기록부터 실행, 저장까지
001 리본 메뉴에 ‘개발도구’ 탭 생성
002 매크로 기록
003 기록된 매크로 보기
004 매크로 실행, 수정, 삭제
005 단추 삽입으로 매크로를 빠르게 기록하고 실행
006 단추 삽입으로 매크로를 빠르게 기록하고 실행
007 매크로 저장
008 매크로 보안

CHAPTER 05자료형 (데이터 타입)

CHAPTER 06VBE (Visual Basic Editor)
001 프로젝트 탐색기 +
002 속성 창 ()
003 코드 창 ()
004 기타 (직접 실행 창, 지역 창, 조사식 창, 개체 찾아보기)
005 VBE 상단의 메뉴 (고전적인 Pull Down 메뉴 즉, 메뉴를 누르면 아래로 펼쳐짐)

CHAPTER 06프로시저
001 Sub
002 Function
003 Property

PART 02 단일 매크로 코드

CHAPTER 01통합 문서 매크로
001통합 문서가 열리면서 자동으로 실행되는 매크로
002파일명 변경
003한 폴더에 모든 통합 문서를 열어 첫 시트의 A1셀에 ‘7’ 입력
004통합 문서를 닫을 때 저장할건지
메시지 창 없이 자동으로 저장되고 닫기
005현재 매크로 파일이 있는 폴더 경로 및 파일명까지 표시
006특정 엑셀 파일을 열지 않고 수식으로 특정 셀 값을 가져오기
007여러 파일 검색
008‘폴더 경로+[파일]+시트’!셀주소
009통합 문서를 엑셀97-2003 버전 형식으로 저장하기
010다른 컴퓨터의 파일을 열기
011엑셀 제목표시줄에 현재 통합 문서의 전체 경로 표시
012원하는 엑셀 파일이 열려있는지 확인
013다른 이름으로 파일 저장시 파일 형식 설정
014현재 파일은 그대로 두고 다른 이름으로 파일 저장
015활성 통합 문서의 이름과 시트명 받기
016특정 파일이 열려있는지 검사하고 닫혀있으면 열기
017매크로 통합 문서의 이름 받기

CHAPTER 02시트 매크로
001숨긴 시트 모두 보기 및 통합 문서 보호와 해제
002시트의 눈금선, 수식입력줄, 머리글 숨기기
003다른 시트에 자료를 현재 시트에 복사 하기
004특정 시트만 새 파일에 복사하여 현재 파일과 같은 폴더에 저장하고 닫기005시트 추가
006시트 이름 짓기
007시트 삭제할 때 삭제할건지 묻는 창 안 뜨게 하기
008여러 시트를 빠르게 숨기기
009활성 시트를 새 파일로 복사하고 시트 보호 해제
010시트명으로 접근할 땐 CStr
011시트 삭제
012같은 양식의 시트를 여러 개 복사하기
013활성 시트 다음에 빈 시트 생성
014활성 시트의 보호 여부를 받아서 시트 보호/해제
015두 번째 시트 이후로 모두 선택하는 빠른 코드
016시트에 암호 건 시트 보호(일부 기능은 사용 가능)
017시트 이름순 정렬
018시트 이름순으로 배치하는 다른 내용
019현재 시트의 다음 시트 받기
020시트 유무 판단
021시트 숨기기/숨기기 취소
022시트 이동/복사
023다음/이전 시트 선택
024시트명과 무관하게 특정 시트에 접근하기

CHAPTER 03셀 매크로
001 ‘data’ 시트의 ‘A2’ 셀 선택하기 (다른 파일도 포함)
002‘공급량’ 파일의 ‘data’ 시트의 ‘A2’ 셀 선택하기 (다른 파일도 포함)
003선택 셀범위의 메모/내용/서식/윤곽/하이퍼링크 지우기
004날짜 셀범위에 특정 날짜 찾기
005여러 셀의 값을 한 셀에 합치기 &텍스트 줄바꿈
006특정 글자로 시작하는 셀만 찾기
007활성 셀의 수식을 사용자 지정 셀에 그대로 넣기
008셀의 글꼴 색을 검정으로 하기
009한 셀의 값을 구분 기호를 기준으로 여러 셀에 나누기
010현재 엑셀 화면에 보이는 셀범위
011‘셀서식’의 특정 탭만 창으로 띄우기
012셀에 자료를 텍스트 파일로 저장하기
013맨 마지막 셀 다음 아래 셀 선택하기
014 값이 있는 맨 마지막 셀 받기
015셀의 ‘R1C1’ 스타일을 A1 스타일 주소로 바꾸기
016셀 또는 셀범위 선택하기
017셀에서 를 치면 우측 셀 선택하기
018셀 삭제 후에 위로 올리기
019셀서식의 ‘맞춤’ 탭의 가로 항목의 ‘선택 영역의 가운데로’
020선택한 것이 셀인지 판별하기
021SpecialCells 실무에서 많이 쓰는 용법
022오류 셀에 나오는 녹색 표식 차별적으로 설정
023셀에서 마우스 오른쪽 버튼 클릭 시 나오는 단축 메뉴 숨기기
024셀의 글꼴을 굵게/보통으로 하는 한 줄 코드
025B5셀 바로 우측 옆의 C5셀 선택
026 키를 누르면 5개 셀씩 아래로 건너뛰면서 선택하기
027ClearContents, 병합 셀에서의 문제
028셀에 수식을 입력하는 매크로
029셀 병합 하기
030활성 셀이 병합 셀인지 알기
031셀 값 바꾸기
032현재 시트의 셀을 다른 셀에 복사하기
033셀범위의 일괄적인 연산 (Evaluate)
034수식 중에 오류 값은 무시하고 처리하기 (IsError)
035채우기 핸들링으로 일련의 내용을 채우거나 복사
036셀에 회색 테두리 긋기
037전체 셀, 채우기 색 지우기
038셀범위의 무의미한 공백 문자 한방에 모두 지우기
039노란(색깔 있는) 셀의 값만 더하기
040오류 수식 셀을 제외한 셀만 선택하기
041여러 셀 처리
042셀 값이 0인 셀의 0 숨기기
043숫자+문자인 셀에서 Val 함수로 숫자만 얻기
044Split 함수로 긴 내용을 기준 문자(열)로 나누기
045Join 함수로 각 값을 기준 문자(열)로 합치기
046Evaluate 메서드로 순번 매기기
047빈 셀만 삭제
048PasteSpecial로 서식만 복사
049Join 함수로 각 값을 기준 문자(열)로 합치기
050날짜 셀을 선택하면 풍선 도움말(툴팁 : ToolTip
요일 표시 (데이터 유효성 검사 기능)
051‘셀서식’의 ‘표시 형식’을 ‘일반’으로 하기
052텍스트형 숫자를 진정한 숫자로 바꿔 (TextToColumns)
녹색 삼각형 표식 지우기
053셀범위에 테두리 그리기
054셀 값의 유령문자 제거하기
055셀범위의 값만 지우기
056특정 기준에 맞는 셀의 행 삭제
057+로 셀의 너비/높이 조정
058특정 값을 다른 값으로 일괄 바꾸기
059여러 셀 값을 한 줄 코딩으로 문자열로 담기
060셀의 특정 문구를 뒤에서부터 검사
061셀범위의 외곽선에 테두리 선 그리기
062서식만 채우기 핸들링
063셀서식의 ‘표시 형식’ 설정하기
064조건에 맞는 셀을 모두 선택하기
065셀범위에서 특정 내용의 개수 세기
066셀 채우기 색 대화상자 열기
067고정 입력 셀범위의 값을 바로 아래 표에 차례대로 입력하기
068‘사용자 정의 폼’의 목록 상자에서 값을 한번에 채우기
069셀범위(1개 열)에서 마지막 셀 받기
070셀에 특정 문구가 있는지 검사
071셀서식의 표시 형식에 보이는 그대로 받기
072한 열 전체의 텍스트형 숫자를 진정한 숫자로 바꾸기
073셀 값 형식이 텍스트 형인지 판단

CHAPTER 04파일/폴더 매크로
001파일 복사, 파일 이름 바꾸기, 파일 삭제, 폴더 만들기, 폴더 삭제
002탐색기의 특정 폴더 열기
003Shell 함수로 여러 실행 파일 열기
004특정 파일이 특정 폴더에 있는지 검사
005폴더명 변경
006특정 폴더에서 해당 파일 형식의 모든 파일을 완전히 삭제
007파일을 이동시키고 파일명 변경
008그림 파일 (이미지 파일) 열기
009메모장 열기
010PDF 파일 열기

CHAPTER 05개체 매크로
001시트의 그림 개체 모두 지우기
002도형이나 그림, 버튼, 차트 등은 셀이나 시트
또는 잘라내기 할 때 제외하기
003도형이나 버튼, 그림 클릭하면 그 개체를 삭제하기
004도형이나 버튼 클릭 시, 그 개체의 캡션 얻기

CHAPTER 06행/열 매크로
001틀 고정 행으로 화면 이동
002시트의 열 머리글을 숫자로 나오게 하기
003활성 시트에 사용된 범위 전체 열의 자동 너비 조정
004한 행/열 전체를 ‘잘라내기’하여 삽입하기
005행 높이나 열 너비 조정하기
006행, 틀 고정하여 항상 보이게 하기
007한 행 선택 여부 판단하기
008행/열 선택하기
009행/열 바꿈으로 복사하기
010행/열에서 특정 값과 다른 셀, 모두 받기
011열 너비 자동 맞춤
012한 행 또는 한 열의 특정 범위에 자료 넣기
013한 행 또는 한 열 숨기기/숨기기 취소

CHAPTER 07양식 컨트롤 매크로
001‘양식 컨트롤’의 ‘레이블’만 삭제하기
002양식 컨트롤의 회색 단추를 특정 셀 기준으로 생성하고 매크로 연결
003‘양식 컨트롤’의 스핀 단추 제어
004 ‘양식 컨트롤’의 단추(버튼)의 왼쪽 위치
005양식 컨트롤의 ‘확인란’을 체크했는지 판단

CHAPTER 08인쇄 매크로
001페이지 나누기 모두 원래대로
002인쇄 영역 해제
003반복 인쇄 행 설정
004활성 시트 인쇄시 매수를 B2셀에 넣어놓고 인쇄하기
005선택한 시트, 인쇄 미리 보기
006활성 시트의 전체 인쇄될 페이지 수 구하기
007특정 시트의 전체 인쇄될 페이지 수 구하기
008활성 셀 페이지 인쇄 / 1쪽부터 활성 셀 페이지까지 인쇄

CHAPTER 09배열 매크로
001셀범위에서 고유 값만 배열로 취하여 셀에 뿌리기
002 1차원 배열에서 최대 값 받기
003배열에 담긴 값 모두 지우기

CHAPTER 10필터 매크로
001기간 필터, 필터 지우기, 필터 제거
002시트에 필터 상태가 아니면 필터 단추 넣기
003필터된 행 개수 알기
004필터된 상태에 눈에 보이는 셀만 선택219005기간으로 필터
006필터된 상태에 마지막 행 번호 받기
007자동 필터, 특정 열 2개에 연속으로 한 번씩 하기
008다중 필터, 필터 불일치 확인
009필터 영역만 다른 시트에 복사

CHAPTER 11고급 필터 매크로
001고급 필터 결과가 한 건이라도 있는지 판단
002단순한 고급 필터
003중복 행은 숨기고 고유 값만 필터

CHAPTER 12정렬 매크로
001머리글(필드명)이 병합된 표 정렬하기
002정렬하기

CHAPTER 13날짜/시간 매크로
001연, 월만 가지고 말일 만들기
002날짜의 ‘표시 형식’을 바꾸려면
003VBE의 코드 창에서 날짜 입력 및 셀의 날짜 찾기 (Find 메서드 이용)
004수식으로 입력된 날짜 찾기 (Match 함수 이용)
005지정 시간마다 실행되는 프로시저
006VBE 코드 창에 시간 입력하기
007날짜를 받아서 말일 받는 2가지 방법
008연도를 받아서 그 해가 윤년인지 판단

CHAPTER 14폼 매크로
001‘사용자 정의 폼’이 뜨는 위치 지정
002‘사용자 정의 폼’에서 텍스트 상자의 값 선택하기
003‘사용자 정의 폼’의 버튼을 누르면 모든 텍스트 상자의 값 지우기
004텍스트 상자에 특정 시트의 내용 나타내기
005‘사용자 정의 폼’에 버튼을 누르면 레이블 컨트롤 생성
006‘사용자 정의 폼’의 목록 상자에 2개 열을 넣을 때 열 너비 지정
007‘사용자 정의 폼’, 목록 상자의 첫 번째 항목이 선택되었는지 판단
008‘사용자 정의 폼’이 떠 있는 상태에서 셀을 선택하거나 버튼 누르기
009‘사용자 정의 폼’에 명령 단추 생성
010‘사용자 정의 폼’의 목록 상자에서 선택한 항목명을 받으려면
011현재 떠 있는 ‘사용자 정의 폼’ 이름
012‘사용자 정의 폼’의 모든 콤보상자에서 값을 지우기

CHAPTER 15하이퍼링크 매크로
001현재 파일에서 하이퍼링크로 다른 시트로 이동
002하이퍼링크로 다른 파일 열기
003현재 시트의 하이퍼링크 모두 제거

CHAPTER 16레지스트리 매크로
001레지스트리에 특정 키 생성하여 값 넣기
002등록된 특정 키에 값 이름의 데이터 받기
003레지스트리에서 특정 키 또는 값 이름 삭제

CHAPTER 17이름 매크로
001이름 정의한 이름을 셀(Range)로 변환
002셀의 이름 정의
003이름 정의 셀을 Range방법으로 접근
004이름 정의한 이름의 셀주소와 시트명 받기
005이름 정의 및 이름 받기
006이름 정의된 셀로 화면 이동 및 선택하기
007활성 통합 문서 안의 모든 이름 삭제
008이름 정의 셀범위에 접근하기

CHAPTER 18Sendkeys 매크로
001사용자가 입력한 키 순서대로 작동하는 Sendkeys
002SendKeys로 셀의 수식을 값으로 바꾸는 방법

CHAPTER 19메모 매크로
001메모의 사각형 꼭지점을 둥글게 만들기

CHAPTER 20피벗 테이블 매크로
001‘피벗 테이블’ 생성
002‘피벗 테이블’의 전체 셀범위
003활성 셀이 피벗 셀의 무슨 형인지 알기
004‘피벗 테이블’의 ‘값’ 영역 셀 선택
005활성 시트에 모든 피벗 필드에 드롭다운 화살표 버튼 없애기
006‘피벗 테이블’, 특정 피벗 필드에 레이블과 값 영역선택
007‘피벗 테이블’, 행 필드만 받기
008‘피벗 테이블’의 참조 셀범위 받기
009‘피벗 테이블’에 일자 필드의 ‘월’로 그룹 만들기

CHAPTER 21차트 매크로
001차트가 시트에 있는지 알기
002차트 숨기기
003모든 차트 삭제 (시트 기준)
004꺾은선 형 차트 생성

CHAPTER 22기타 매크로
001‘찾기 및 바꾸기’ 창 설정 상태 초기화
002웹사이트의 자료를 읽어 판단
003Onkey 메서드로 단축키 생성/해제
004특정 웹사이트 열기
005OnKey 메서드로 할당한 프로시저를 원래 키로 복원하기
006일반 숫자나 시간만 처리하기
007글자의 바이트 계산(한글은 2바이트, 영문/숫자는 1바이트)
008현재 코딩중인 모듈명 받기
009사용자 입력 받기
010매크로 실행시간 구하기(Timer, TimeSerial 이용)
011‘바탕화면’이나 ‘내 문서’ 폴더 경로 받기
012영어로 읽어주기(TTS, Text To Speak)
013엑셀 창을 전체화면으로 최대로 크게 설정
014Wait 메서드로 일정 시간 동안 매크로 실행중지
015엑셀 인스턴스 즉, 엑셀 창 닫기
016엑셀 버전 알기
017매크로 수행 후, 수행 전의 화면 위치로 돌아오기
018자신의 컴퓨터 이름(ComputerName) 얻기
019영문 대/소문자 관련 엑셀 함수를 매크로로 처리
020메시지 박스로 묻기
021문자열 사이에 공백 문자 9개 삽입하기
022여러 매크로를 한번에 모두 실행하기
023수식 계산 모드 수동으로 설정
024문자(텍스트) 형식의 숫자를 대소 비교하기
025한 줄의 코드 명령문을 밑줄(_)을 이용, 여러 줄로 입력하기
026한 문자만 여러 개 반복하기(엑셀 함수의 REPT와 비슷)
027마우스 포인터 상태 바꾸기
028매크로 실행중에 키로 실행중지
029상한 값과 하한 값 사이에 정수형 난수 생성하여 특정 셀범위에 넣기
030피보나치 (Fibonacci) 수열
031엑셀 창을 새롭게 열고 그 창에서 특정 엑셀 파일 열기
0328의 3제곱근 구하기
033엑셀 창 하단의 ‘상태 표시줄’의 내용 표시 및 이 줄 숨기기
034엑셀 창 상단의 제목표시줄에 활성 파일의 전체 경로와 파일명 표시
0354명에 2명이 한 조일 때 나올 수 있는 조합(Combination) 수 구하기
036Volatile로 사용자 정의 함수 재계산
03730부터 40 사이의 정수형 난수(무작위 수, 랜덤 값)를 만드는 방법
038사용자 지정 목록 추가 및 삭제
039x문자열이 y문자열 안에 몇 번째에 있는지 알기
040고유 값 개수를 구하는 수식보다 빠른 방법
041엑셀이 제공하는 다양한 회색 상수
042리본 메뉴와 ‘빠른 실행 도구 모음’ 숨기기
043내용에서 특정 문자(열)의 개수
044문자열을 특정 구분자 기준으로 자르기(Spilt 함수)
045오류 무시를 여러 번 하기
046윈도우즈의 여러 환경 변수를 알려줌
047DDE(동적 데이터 교환)을 사용하는 다른 응용 프로그램 무시
048받침에 따라 동적으로 어조사 받기
049FormulaArray 배열 수식을 매크로에서 사용할
255자를 넘으면 오류가 남
050지정 폴더로 파일 선택 창 열기
051Replace 함수로 값 바꾸기
052‘통합’ 기능으로 고유 값 별로 합계 구하기
053중복 값은 삭제

PART 03 주제별 매크로

CHAPTER 01매크로 기록 및 편집
001실시간으로 보면서 ‘매크로 기록’하는 법
002Select / Activate, Selection / ActiveCell
003복사 후, ‘선택하여 붙여 넣기’ 매크로
004여러 시트의 내용을 한 시트에 합치는 매크로
005급여 명세서 출력 매크로
006잘라 내기, 반복문 돌리기 매크로
007열 삭제/삽입, 함수 적용, 값 바꾸기 매크로

CHAPTER 02Workbook 2가지 개체와 주요 개체
001Activeworkbook / ThisWorkbook
002어플리케이션(Application) ] 통합 문서 파일(Workbook)
시트(Worksheet) ] 셀(Cell)
003컴파일(Compile) / 런타임(Runtime)

CHAPTER 03정렬 (Sort)
001일반
002한 열을 기준으로 정렬하는 짧은 코드
003가로로 누운 표 정렬
004셀 색깔 순으로 정렬
005각 행을 왼쪽에서 오른쪽으로 정렬
006정렬을 클릭할 때마다 오름/내림 차순으로 토글

CHAPTER 04필터
001기간 필터 후, 필터된 영역만 다른 시트에 복사
002기간 필터 후, 업체까지 필터하여 최종 필터 영역만 다른 시트에 복사
003필터 후, 필터된 자료가 없는 경우의 처리
004한 열에 2개 항목을 제외하고 필터
005한 열에 3개 이상의 항목을 제외하고 필터
006한 열에 3개 이상의 항목을 제외하고 필터
007날짜 다중 필터

CHAPTER 05찾기
001‘부분합’ 적용 후에 ‘요약’ 행의 셀에 색칠하기
002현재 셀의 위로 최근 입고 수량 셀 검색
003병합 셀을 찾을 경우에 주의할 점
004셀서식의 ‘표시 형식’에 무관한 날짜 값과 수식 날짜 검색
005‘셀서식’을 적용한 검색
006서식과 수식이 들어간 금액 찾기

CHAPTER 06바꾸기
001특정 내용으로 일괄 대체 또는 모두 지우기
002수식 셀의 결과 값을 바꿀 수는 없어요.
003휴대폰 번호 중간 자리를 *(별표)로 대체

CHAPTER 07셀 (Cells 또는 Range)와 친해지기
001매크로의 핵, 그 이름은 셀
002셀 하나에 접근하기
003셀범위에 접근하기
004Offset / Cells를 이용한 참조 셀 이동
005Columns, Rows를 이용한 셀 참조
006병합 셀 (Offset / Cells의 차이)
007CurrentRegion (인접 셀범위), Union (떨어진 다중 셀범위)
008UsedRange로 A1셀부터 흔적이 있었던 마지막 셀까지 참조
009SpecialCells로 다양한 셀(빈 셀, 수식 셀 등) 참조
010Areas로 다중 영역 단위로 빠르게 접근하기
011Intersect 겹치는 셀범위 참조
012병합 셀 다루기
013다른 시트의 병합 셀을 참조하여 집계하기
014셀에 색 번호 고찰
015여러 시트에 동일 셀범위 복사
016시트의 고유 이름으로 셀 접근
017셀 개체 형식여부 확인
018셀범위에 간단하게 순번(연번) 넣기
019셀 개체간 비교
020셀에 보이는 값 그대로 입력
021활성 셀에 특정 셀의 값 또는 수식 넣기

CHAPTER 08VBA 함수
001문자열 처리1 (Len, Left, Right, Mid, Trim, Format,
InStr, InStrRev, Split, Join)
002문자열 처리2 (Chr, ChrW, Asc, UCase, StrReverse,
String, Replace, StrComp, Space, StrConv, Filter)
003자료 형식 변환 (CBool, CDate, CLng, CDbl, CInt, Int,
Fix, CStr, Str, Hex, CLng, Val)
004날짜/시간 처리 (DateTime, DateSerial, TimeSerial,
DateValue, TimeValue, Day, Hour, Time,
Now Weekday, DateAdd, DateDiff, DatePart, Timer)401
005매크로 수행시간 재기
006정보 함수 (IsNumeric, IsEmpty VarType, IsError,
IsDate, IsArray, IsMissing, IsNull, Err, IMEStatus,
QBColor, TypeName, RGB)
007수학 함수 (Round, Abs, Cos, Randomize, Rnd, Sgn, Sqr)409
008상호작용 (Choose, CreateObject, DoEvents, Environ,
IIf, InputBox, MsgBox, Shell, Switch, Partition)
009파일/폴더 처리 (Dir, MkDir, FileCopy, RmDir, Kill,
ChDir, CurDir, ChDrive)

CHAPTER 09강력한 엑셀 함수 매크로
001엑셀 함수(수식) 이용
002사용자의 셀 선택으로 실무 수식 자동 입력

CHAPTER 10사용자 정의 함수
001사용자 정의 함수(UDF : User Defined Function)
002여러 셀들의 값을 한 셀에 결합
003특정 색깔이 몇 개 셀에 있는지 세기
004셀 값을 각 단어로 나누는 UDF
005UDF를 언제나 쓰도록 추가 기능(애드인, Add-In) 파일 만들기
006UDF에 도움말 만들기
007추가 기능(애드인, Add-In) 지우기

CHAPTER 11고급 필터
001원리 이해
002특정 기간의 업체별 출고 건
003강력한 수식(함수)을 이용한 방법

CHAPTER 12중복
001고유 항목만
002고유 레코드만 남기기 또는 복사
003중복 행만 추출하기
004현재표에서 원본표에 없는 고객코드 나열
0052개 열을 비교하여 두 열에 모두 있는 항목 지우기
006고유한 항목의 개수 세기
007원가서에 고유한 공급처의 총수량을 각 시트에 처리
008표에 성명을 ‘콤보상자’에 넣고 필터 및 합계금액 조회
009고유 값의 개수 세기

CHAPTER 13행 삽입
0012행씩 삽입하기
002n행씩 사용자 선택으로 삽입하기
003m행마다 n행씩 삽입하기
004같은 항목을 군으로 묶어 그 아래에 삽입하기

CHAPTER 14행 삭제
001보조열 없이 반복문 처리
002보조열에 함수로 빠르게 처리

CHAPTER 15이름
001셀범위의 이름 정의
002이름이 참조하는 주소와 셀에 이름이 있는지 확인
003이름 또는 이름이 참조하는 주소 수정
004참조 오류(#REF, #N/A)나 숨겨진 이름 삭제
005모든 이름 / 선택 셀범위에 이름 / 특정 이름 제외 삭제

CHAPTER 16그림
001셀에 그림 삽입
002특정 셀에 그림이 있는지 판단하기
003한 셀에 그림을 넣고 셀의 중앙에 여백을 주고 맞춤
004폴더 안에 그림의 순서대로 가져오기
005그림 선택 창이 뜨고 골라서 가져오기
006그림을 다른 시트에 복사하기

CHAPTER 17도형 (Shape)
001마우스로 선택한 도형이 어떤 타입인지 알기
002시트의 모든 개체에 타입 받기
003직사각형이나 모서리가 둥근 사각형 등 삭제
004도형에 글자 쓰기 / 받기
005시트 상에 도형의 위치와 크기를 설정합니다.
006도형의 현재 위치가 어느 셀에 있는지 알기
007셀이 움직여도 도형은 그대로 두기
008도형 숨기기
009도형에 하이퍼링크 달기
010도형에 값을 채우고 그 위치를 자료에 따라 동적으로 이동

CHAPTER 18부분합
001표에서 업체별로 금액 소계내기
002소계 표를 원래대로 되돌리기

CHAPTER 19데이터 유효성 검사
001이름을 이용한 유효성 적용
002고유 항목만 배열에 담아 유효성 적용

CHAPTER 20통합
001다른 시트를 참조, 날짜별로 집계
002다른 파일의 시트를 참조하여 날짜별로 집계

CHAPTER 21인쇄
001다중 인쇄영역 설정
002반복 인쇄 행 설정
003페이지 설정

CHAPTER 22메모
001기본 메모 서식에 글꼴 서식 등을 주어 메모 삽입
002셀에 메모 존재 여부 및 메모 다는 한 줄 명령문
003메모에 그림 넣기
004반복문을 돌려 수주장의 업체 셀에 업체정보 메모 달기
005기존 메모 고치기

CHAPTER 23하이퍼링크
001다른 시트로 이동하기
002외부 파일을 열기
003연결 주소를 받기
004도형에 걸기

CHAPTER 24조건부 서식
0013줄 단위로 셀에 색깔 넣기
002견적 단위로 붉은 색 테두리 긋기
003생산작업 대장의 선 긋기
004군 단위 셀 색 채우기
005버튼 캡션을 셀에 넣기

CHAPTER 25피벗 테이블
001KEY별로 여러 항목을 ‘피벗 테이블’ 생성
002‘피벗 테이블’ 복사
003기간 내 매장별 판매처별 내역 산출(매우 실무적임)
004사용자 지정 순서로 정렬한 표
005여러 개의 물류센터 시트를 생성
006피벗 테이블 솔루션- 보고서 필터에 날짜를 두고 기간으로 필터
007‘피벗 테이블’에 서식 입히기
008드롭다운 필드 목록에서 원본 자료에 없는 항목 지우기
009행 필드에 하부 항목 확장/축소
010고유 항목만 추출하기

CHAPTER 26차트
001차트 숨기기, 참조 셀범위 변경
002엑셀 버전별 차트 매크로 기록 차이
003원하는 셀범위에 차트 배치하기
004차트 개체 이름 변경, 그림 파일로 저장, 인쇄
005피벗 차트를 이용한 차트 위치 변경
006차트 복사
007‘콤보상자’로 월 선택
008동일 형식의 여러 차트를 생성
009차트에 동적으로 계열 추가
010최대 계열 값에 색상 표시
011계열이 하나인 차트에 최대, 최소 값만 레이블 표시
012기타

CHAPTER 27양식 컨트롤
001콤보상자
002콤보상자(값 선택/받기, 항목 추가/삭제, 목록 표시줄수)
003콤보상자(셀 연결, 위치 고정/이동, 생성)
004콤보상자 외에 모든 개체 지우기
005콤보상자 클릭하여 항목 선택시 작동하는 매크로
006단추
007확인란
008회전자
009목록 상자
010레이블
011옵션 단추
012‘그룹’으로 묶은 컨트롤에 접근
013스크롤 막대

CHAPTER 28ActiveX 컨트롤
001텍스트 상자
002ActiveX 컨트롤 - 그룹에 포함된 텍스트 상자
003ActiveX 컨트롤 - 명령 단추 생성

CHAPTER 29사용자 정의 폼
001시작하기
002간단한 사용법
003좀 더 다듬기
004‘텍스트 상자’로 시트명 검색
005‘텍스트 상자’끼리 숫자 계산하기
006‘텍스트 상자’에서 메시지 창 뜨고 나서 다시 포커싱
007 키로 폼 닫기
008‘폼’ 복사하기
009‘옵션 단추’로 시트 순서화
010‘확인란’을 이용한 시트 선택유무
011‘레이블’에 시트 개수 표시
012폼2 - ‘스핀 단추’로 연월 증감
013폼2 - ‘이미지’ 컨트롤 소개 및 ‘클래스 모듈’ 이용, 키로 폼 닫기
014‘콤보상자’로 이중 유효성
015‘달력’ 폼으로 날짜 입력
016‘달력’ 폼의 이해
017셀에 값을 다중 열의 ‘목록상자’에 담기
018다중 열의 ‘목록상자’, 다루기
019현재 통합 문서(파일)에서 B파일의 폼을 실행하기
020 ‘텍스트 상자’에 숫자(소수점 포함)만 입력
021단축키로 폼 제어
022차트를 폼에 표시하고 스크롤 막대

CHAPTER 30이벤트
001수량이나 단가를 입력하면 금액 자동 계산(Change)
002값을 입력하면 자동으로 1.1이 곱해지기
003주식 현재가의 실시간 반영 및 최대 값(고가) 출력
004조건에 따라 특정 셀의 값 입력 제한여부
005선택한 셀을 중심으로 가로/세로 테두리 긋기 (SelectionChange)
006선택한 셀을 중심으로 전체 행과 열을 교차하여 선택
007셀을 더블클릭하면 폼 열기 (BeforeDoubleClick)
008시트 선택(Activate), 다른 시트 선택(Deactivate)시 작동
009수식 계산시 발생하는 Calculate 이벤트
010하이퍼링크 이벤트(FollowHyperlink)로 체크박스 구현
011셀에서 마우스 오른쪽 버튼 클릭시에 나
단축 메뉴에 사용자 메뉴 넣기 (BeforeRightClick)
012시트 기타 PivotTableUpdate 등
013피벗 테이블에서 값 영역에 필드 추가시 ‘합계’ 함수로 고정
014파일(통합 문서) 단위
015파일을 열거나 닫을 때 자동으로 뭔가를 실행하고 싶다면
016OnEntry를 이용한 누적 및 OnDoubleClick
017관리자만 파일 저장하기

CHAPTER 31매크로 실행 속도
001ScreenUpdating = False로 화면의 움직임을 숨겨서 속도 향상
002Calculation = xlCalculationManual로 전체 시트
발생하는 수식 계산을 잠시 멈춤
003EnableEvents = False로 이벤트 잠시 중지
004DisplayPageBreaks = False로 미리보기 후 생기는 페이지 나누기 선
005Cells 생략
006Const 사용
007시트 접근을 인덱스로 하기
008개체 형식을 명확히 선언
009Select는 생략
010With문 사용
011한 줄 붙여 넣기 구문
012 값 대 값으로 넣기(값만 복사 개념)
013채우기 핸들링 매크로보다는 수식
014반복문보다는 워크시트 함수 이용
015‘For 증감 변수’ 대신 ‘For Each’ 문
016복잡하게 접근하는 개체보다는 개체 변수를 적극 활용
017If문의 True/False 보다는 대입연산이 좋음
018True/False 토글 방식보다는 Not 연산자 활용
019반복이 많이 된다면 “” 보다는 vbNullString
020Range(셀)형 개체 변수보다는 Variant형 배열 형식
021좀 더 짧은 코드

CHAPTER 32증폭하는 데이터의 처리 해법, 액세스(Access) 프로그램
상용 DB(MS-Sql, 오라클, DB2
001엑셀 자료를 액세스로 보내기 (액세스에서 엑셀 자료 가져오기)
002액세스 ‘데이터 시트’ 다루기
003액세스에서 테이블 복사
004액세스에 테이블 자료를 엑셀로 내보내기
005액세스에 암호 달기
006액세스에 꽃, 쿼리(SQL)
007추가/삭제 쿼리 - 테이블에 넣거나 지우는 SQL
008업데이트(수정)/삭제/조회 쿼리 - 자료를 가져오거나 수정, 삭제하는 SQL
009선택 쿼리 - 다양한 조건으로 SQL문을 작성하여 조회
010액세스에 쿼리를 만들고 엑셀에서 사용하기
011액세스에 매개 변수 쿼리 생성 후, 엑셀에서 사용
012엑셀에서 액세스 쿼리 개체를 이용, 테이블에 추가/수정
013주요 쿼리 - 통합(유니온) 쿼리문
014주요 쿼리 - ‘테이블 만들기’ 쿼리문
015주요 쿼리 - ‘크로스탭’ 쿼리문
016주요 쿼리 - ‘데이터 정의’ 쿼리문 (DDL)
017엑셀에서 SQL-Server DB에 연결 및 처리
018쿼리를 참조하는 쿼리문
019액세스 DB간 테이블(쿼리) 복사
020액세스 DB의 테이블명에 특정 내용을 일괄적으로 수정
021주요 쿼리문

CHAPTER 33외부 프로그램
001텍스트 파일 읽기/쓰기
002워드 파일에 복사
003파워포인트와 연동
004인터넷 연동
005인터넷 로또(Lotto) 사이트의 자료 가져오기
006인터넷 사이트에서 현재 시간 가져오기

CHAPTER 34파일시스템 개체
001폴더 존재 여부, 폴더 생성(텍스트 파일), 폴더 삭제
002폴더 복사, 폴더 이동, 폴더명 바꾸기
003파일 유무, 삭제, 복사
004파일 이동, 파일명 수정
005텍스트 파일 만들고 쓰기
006텍스트 파일 읽기
007텍스트 파일 쓰기
008폴더, 파일 목록 표시
009폴더, 파일 목록 표시(하위 폴더 전체)
010특정일 이후부터는 파일 사용을 못하게 파일 삭제하기
011Dictionary 개체로 고유 항목 표시

CHAPTER 35보안
001시트 보호(특정 셀에 입력 막기) 및 개체 숨기기/보기
002시트 보호 (노란 셀은 수정 막기) 실무 활용
003통합 문서 보호(시트 추가나 시트명 수정 막기)
004“(큰 따옴표, double quotation)의 이해

CHAPTER 36흔하게 접하는 매크로 오작동/오류 코드와 원인 및 해결
001매크로가 실행되지 않고 ‘이 통함 문서에서 사용할
없는 매크로이거나 모든 매크로를 사용하지 못할 수 있습니다.’
002시트에 매크로가 연결된 버튼을 누르는데 작동을 안 한다면,,
003코딩 시에 명료하게 개체 변수를 선언하고
.(점)을 입력했는데 개체 구성원 목록이 안 나온다면,,
004매크로를 실행하려고 하는데 ‘중단 모드에
코드를 실행할 수 없습니다.’라고 나온다면,,
005코딩 시에 컴파일 오류로 ‘필요한 요소 : 변수’라고 나오고 빨간 글자로 나온다
006개체 참조(설정)시 개체가 필요하다는 91번 런타임 오류가 난다면,,
007Sub 또는 Function이 정의되지 않았다는 컴파일 오류,,
008‘91’ 런타임 오류가 발생하였습니
개체 변수 또는 WITH문의 변수가 설정되어 있지 않습니다.
009오버플로 6번 런타임 오류
010컴파일 오류로 필요한 요소 : 목록 구분선 또는 ) 이 나오는 경우,,
011찾기에서 못 찾는 이유
012다음의 줄에서 노란 줄이 생기면서 오류가 나면,,
013개체 참조 불능으로 생기는 오류 몇 가지,,
014지원하지 않는 매크로
015If문 오류
016Range(셀) 참조 오류 (실무에서 흔하게 실수하는 부분이며 매우 중요함)
017선언과 동시에 초기 값 할당 오류
018파일 접근 오류
019셀 오류 값 처리
020코드 편집할 때 커서 위치의 문자가 지워진다면
021한 줄 긴 코드를 아래로 내렸더니 에러가 난다면
022VBE에 도움말을 보고 오류 이해

CHAPTER 37다른 사람의 코드 분석 방법(디버깅)
001정의된 이름으로부터 시트 알아내기
002셀로부터 시트나 통합 문서 알아내기
003수식 분석
004배열 자료가 어떻게 담겼는지 확인
005양력 날짜를 음력으로 또 반대로 변환

PART 04 반복 작업 매크로

CHAPTER 01복사
001실시간으로 보면서 ‘매크로 기록’ 하는 법
002서식은 그대로 두고 값 복사1
003서식은 그대로 두고 값 복사2

CHAPTER 02합치기
001여러 시트의 내용을 같은 구조의 한 시트에 합치기
002여러 시트의 내용을 다른 구조의 한 시트에 합치기

CHAPTER 03나누기
001한 시트의 내용을 다른 구조의 여러 시트에 나누기
002한 시트의 내용을 같은 구조의 여러 시트에 나누기

CHAPTER 04통합 문서
001여러 파일을 자동으로 열어서 기준 문서의 자료로 업데이트
0022개 파일(소스와 대상)을 열어서 복사 후, 새 파일 생성
0032003형식 파일을 2007 이상 버전으로 저장
004사라진 FileSearch의 리본 버전용 변환

CHAPTER 05파일 통합
001여러 파일을 생성하고 각 파일의 자료를 통합
002파일을 안 열고 수식으로 합계 구하기
003각 파일을 열고 값을 여러 셀에 나열하기

CHAPTER 06셀 반복
001셀의 값을 여러 셀에 나누기
002셀에 0 값 지우고 노란 색칠
003셀에 값을 쉼표를 구분자로 결합하기
004날짜별로 그룹을 지어 행 삽입하고 소계 내기
005데이터가 없는 빈 행만 삭제하기
006병합 있는 표를 병합 없는 표에 구성하기

CHAPTER 07DM(Direct Mail)
001라벨 만들기
002원하는 위치부터 생성

PART 05 실무 매크로 프로젝트

CHAPTER 01이메일(E-Mail) 보내기
001아웃룩 계정 설정과 코드
002거래명세표를 물류센터로 메일 보내기

CHAPTER 02차트(그래프)의 특정 계열을 클릭하면 세부 차트 보기
001차트 이벤트

CHAPTER 03재고관리 엑셀 프로그램
001재고관리 프로그램

CHAPTER 04검색(필터) 프로그램
001검색 프로그램
002‘사용자 정의 폼’으로 시트 검색 하기

PART 06 매크로 실무 문법(구문)

CHAPTER 01주석과 On Error문
001주석
002On Error 문

CHAPTER 02인수
001프로시저에 인수 표기법
002인수 앞에 Optinal 키워드
003인수 앞에 ParamArray 키워드
004인수 앞에 ByRef 또는 ByVal

CHAPTER 03변수 (Variable)
001프로그래밍에서 반드시 넘을 작은 산

CHAPTER 04상수 (Constant)
001변수는 바뀌지만 상수는 고정

CHAPTER 05접근자 (Dim, Public, Private, Static)
001변수 접근자
002Const 상수 접근자
003프로시저(Sub, Function) 접근자

CHAPTER 06연산자 (Operator)
001산술 연산자 (+, -, *, /, ^, \, Mod)
002결합 연산자 (&)
003비교 연산자 (=, [], [, ]=, Is, Like)
004논리 연산자 (And, Or, Not, Xor, Eqv, Imp)
005연산자 우선 순위 (산술 ] 결합 ] 비교 ] 논리)

CHAPTER 07개체(Object), 메서드(Method), 속성(Property
이벤트(Event), 컬렉션(Collection), 클래스(Class)
001개체 및 기타

CHAPTER 08With 문
001With ~ End With

CHAPTER 09제어문
001조건문 (If문, Select Case문, Choose함수, Switch함수)
002반복문 (For문 For Each문, Do문, While문)
003분기문 (GoTo문, GoSub문, On 순번 GoSub문, On 순번 GoTo문)
004종료/중지문 (End문, Exit문, Stop문, DoEvents함수)

CHAPTER 10배열 (Arrays)
001정적 배열 (초기에 크기 고정)
002동적 배열 (가변적 크기, Redim, Redim Preserve)
003Array 함수
004한 열에 Transpose 함수로 배열 넣기
0052차원 배열에 For문 중첩

CHAPTER 11Enum문 (열거형)
001Enum

CHAPTER 12Type문 (사용자 자료 형식)
001Type

CHAPTER 13API (Application Programming Interface)
001API 사용법
002파일을 휴지통으로 보내는 API
003메시지 박스를 자동으로 닫는 API
004사용자 정의 폼 API

PART 07 추가 기능(애드인) 및 리본 메뉴의 탭

CHAPTER 01추가 기능 또는 애드인(Add-Ins)
001엑셀 구동시 사용자 단축키에 특정 기능 심기
002셀에서 마우스 오른쪽 버튼 클릭했을 때나오는 단축 메뉴의 사용자 메뉴에
003리본 메뉴에 사용자 탭을 추가하여 특정 단추를 만들고 그 단추에 기능 심기
004애드인 파일 생성과 사용법
005엑셀은 열어 놓은 채 애드인 파일만 닫는 법
006‘추가 기능’ 창에 특정 애드인 항목 제거
007COM 추가 기능

CHAPTER 02리본 메뉴에 탭 생성 및 단추 추가
001엑셀2010 이상 버전에서 리본 메
애드인 파일의 기능을 사용하기 위해 탭 생성 및 탭 안에 단추 달기
002엑셀2007 버전에서 리본 메뉴에 애드인 파
기능을 사용하기 위해 탭 생성 및 탭 안에 단추 달기

PART 08 매크로 코드 자동화

CHAPTER 01코드 자동화
001준비 작업 2가지
002일반 모듈에 ‘Module숫자’를 모두 삭제하기
003일반 모듈에 특정 모듈명으로 모듈 추가
004일반 모듈에 모듈명 수정
005일반 모듈에 모듈 삭제
006일반 모듈에 모든 모듈 삭제
007VBE에 특정 개체(가령, 모듈이나 폼 등) 존재 여부
008파일간 특정 일반 모듈 복사
009파일간 모든 일반 모듈 복사
010VBE에 특정 개체(가령, 모듈이나 폼 등) 코드모듈에 소스코드만 지우기
011모든 VBE 개체의 코드를 개개의 파일로 백업
012개개의 소스 파일을 각 VBE개체에 코드만 가져오기
013Sheet1 모듈 코드에 내보낸 소스 파일 내용을 가져오기
0142개의 파일 간 워크북 개체의 코드만 복사
015프로시저 삭제
016프로시저 생성
017모든 VBE 개체의 코드만 지우기

PART 09 매크로 코딩 도구, 각종 표 및 VBE 단축키

CHAPTER 01코딩 도구
001들여쓰기
002‘사용자 정의 폼’ 안에 컨트롤을 쉽게 제어
003기타 툴
004아스키코드 표
005VBE 단축키

저자 소개

저자 : 장기영
국가 공무원으로서 사회에 첫발을 내딛고 업무에 엑셀을 사용하면서 엑셀의 유용성을 안지 15년이 되었다. 공직을 그만두고 10여 년간 국민은행, 우리금융정보시스템, 금호타이어, LG전자, 삼성전자, 한국IBM, 한국수자원공사, 기타 중견기업 등 수많은 업체에 투입되거나, 단독으로 일을 수주하여 업무용 엑셀 프로그램을 개발 및 강의하였다. 현재 ‘엑셀장인의 공부방’ 네이버 카페의 ‘엑셀장인’이란 별명으로 카페를 관리중이다. 또한 엑셀와이 홈페이지와 카페를 통해 엑셀 과외와 기업체 출강, 오프라인 강의, 엑셀, 엑세스 프로그램 제작 등 다양한 커리큘럼을 진행하며 의욕적으로 일하고 있으며 엑셀와이 단독 서버를 바탕으로 인터넷 기반의 엑셀 업무용 프로그램도 몇몇 업체에 제공하고 있다.)

품목정보

발행일
2014년 06월 25일
쪽수, 무게, 크기
960쪽 | 2178g | 188*257*44mm
ISBN13
9788960881396

만든이 코멘트

안녕하세요 이 책의 저자입니다.
2015-02-03
이 책은 15년간의 엑셀 프로그램 개발 및 강의, 질문/답변 경험으로 만들어진 책입니다.
매크로 초보자가 책을 읽으실때 1부에서 바로 2부로 넘어가면 어렵습니다.
귀하가 초보자라면 1부→ 6부(문법)→ 3부→ 4부→ 5부→ 2부(단일 코드) 순서로 읽으셔도 좋습니다.

감이 좀 생기면 2부(단일 코드)가 크게 효자 노릇 할 때가 옵니다.
결국은 영어도 단어와 숙어가 중요하듯, 매크로/VBA프로그래밍도 코드가 중요한 거니까요. 코딩은 경험이 중요합니다.

아래는 제가 운영하는 엑셀장인의 공부방 네이버 카페입니다. http://cafe.naver.com/xlwhy
카페 회원을 대상으로 오프라인 강의도 진행하고 있습니다.

리뷰/한줄평5

리뷰

7.8 리뷰 총점

한줄평

첫번째 한줄평을 남겨주세요.