bi.snu.ac.krbhkim/lectures/digi_com_10f... · translate this pagebi.snu.ac.kr

65
엑셀 2007 www.gilbut.co.kr 매크로 & VBA 무작정 따라하기

Upload: hoangdat

Post on 23-May-2018

216 views

Category:

Documents


3 download

TRANSCRIPT

엑셀 2007

www.gilbut.co.kr

매크로 & VBA무작정 따라하기

www.gilbut.co.kr

엑셀엑셀 매크로와매크로와 VBAVBA기초기초 다지기다지기

첫째마당첫째마당

www.gilbut.co.kr

1-1 엑셀 매크로와 VBA가 필요한 이유

ü 반복적이거나 복잡한 일련의 작업을 자동화할 때

ü 엑셀에 없는 새로운 기능을 만들어 사용할 때

ü 엑셀에 없는 새로운 함수를 만들어 사용할 때

ü 전문적인 프로그램을 작성할 때

www.gilbut.co.kr

1-2 엑셀 매크로와 VBA란?

ü 매크로와 VBA의 의미v 매크로 : 자주 사용하는 여러 개의 명령어를 묶어서

하나의 키 동작이나 메뉴 등을 이용해 실행되도록 만든 것

v VBA : 오피스 각 제품의 각 패키지 별 특징을

기존 VB (Visual Basic)에 추가한 것

▲ MS-Access 프로그램의 VBA 코드

www.gilbut.co.kr

1-2 엑셀 매크로와 VBA란?

ü 매크로 프로시저의 종류v 프로시저 : 엑셀 자동화 프로그램의 기본 단위

1. SUB 프로시저 : 일련의 처리과정을 기록하는 프로시저

- 수식이 입력된 셀에 결과를 반환하지 않는 경우 사용

2. FUNCTION 프로시저 : 특별한 계산을 한 후 결과값을 반환하는 사용자 정의 함수

- 수식이 입력된 셀에 결과를 반환하는 경우 사용

▲ 코드 필터 기능을 자동화한 매크로 코드 내용 ▲ 사용자 정의함수를 작성한 코드 내용

www.gilbut.co.kr

1-3 매크로와 VBA가 포함된 통합문서 열기

기존기존 버전과버전과 20072007버전과의버전과의 차이점차이점

** 엑셀 2007부터는 매크로가 포함된 문서는 일반 통합문서와 구분되도록‘엑셀 매크로 통합 문서(*.xlsm)’로 저장되고 관리됩니다.

** 매크로 포함 문서는 그냥 열어 사용할 수 없기 때문에 보안 설정을 변경하여야 합니다.

매크로매크로 포함포함 문서문서 열기열기

1. 매크로 포함 문서 종류 확장자 xlsm인 ‘Excel 매크로 사용 통합 문서’로 저장

2. 보안 설정 변경 : ‘Office 단추’ → ‘Excel 옵션’ 단추 클릭

3. ‘보안 센터’ 대화상자 → ‘매크로 설정’ 탭 → ‘매크로 설정’ → ‘모든 매크로 제외(알림 표시)’를 선택

www.gilbut.co.kr

1-3 매크로와 VBA가 포함된 통합문서 열기

www.gilbut.co.kr

1-4 엑셀 매크로 프로그램을 실행하는 방법

매크로매크로 실행실행 방법방법•[보기] → 매크로 → 매크로 → 매크로 보기 명령을 선택해 ‘매크로’ 대화상자 이용• 매크로 작성 시 지정한 단축키 이용• 매크로 단추 이용(또는, 도형이나 그림에 매크로 지정하여 이용)• 리본 메뉴에 ‘추가 기능’으로 등록하여 이용

www.gilbut.co.kr

1-4 엑셀 매크로 프로그램을 실행하는 방법

www.gilbut.co.kr

1-4 엑셀 매크로 프로그램을 실행하는 방법

www.gilbut.co.kr

1-5 매크로 프로그램의 VBA 코드 확인방법

VBA VBA 편집기편집기 창창 보기보기• [보기]→매크로→매크로→매크로 보기명령을 선택해 ‘매크로’ 대화상자에서 매크로 선택후 [편집]클릭• [개발도구] → 코드 → Visual Basic 명령을 클릭• Alt + F11 글쇠• 시트 탭에서 마우스 오른쪽 단추를 눌러 [코드 보기] 메뉴 선택

www.gilbut.co.kr

1-6 이름 정의와 사용 방법

이름이름 정의정의 및및 사용사용• 이름 정의 : 블록 설정 후 ‘이름 상자’에 이름 입력 후 Enter• 열/행 단위 이름 정의 : 블록 설정 후 [수식] → 정의된 이름 → 선택 영역에서 만들기• 이름 관리 : [수식] → 정의된 이름 → 이름 관리자• 이름 사용 : 직접 입력 또는 [수식] → 정의된 이름 → 수식에서 사용

www.gilbut.co.kr

1-9 조건부 서식을 이용해 서식 자동화하기

그룹별그룹별 자료자료 입력입력 자동화자동화 미리보기미리보기

www.gilbut.co.kr

1-9 조건부 서식을 이용해 서식 자동화하기

www.gilbut.co.kr

2-1 고급 필터 기능을 매크로 VBA 코드로기록하기

조건에조건에 맞는맞는 자료가자료가 필터링필터링 된된 모습모습

www.gilbut.co.kr

2-1 고급 필터 기능을 매크로 VBA 코드로기록하기

www.gilbut.co.kr

2-1 고급 필터 기능을 매크로 VBA 코드로기록하기

www.gilbut.co.kr

2-1 고급 필터 기능을 매크로 VBA 코드로기록하기

www.gilbut.co.kr

2-2 매크로 실행 중에 오류메시지가 나타나면

매크로매크로 실행실행 중중 표시되는표시되는 오류오류 메시지메시지

www.gilbut.co.kr

2-3 매크로 실행 단추 만들기

단추양식단추양식 컨트롤과컨트롤과 매크로매크로 단추단추 작성작성

www.gilbut.co.kr

2-3 매크로 실행 단추 만들기

www.gilbut.co.kr

2-4 VB 편집기로 매크로 코드 수정하기

‘‘자료찾기자료찾기’’ 매크로매크로 실행실행 후후 표시화면표시화면

www.gilbut.co.kr

2-4 VB 편집기로 매크로 코드 수정하기

www.gilbut.co.kr

2-4 VB 편집기로 매크로 코드 수정하기

www.gilbut.co.kr

2-5 작성한 매크로를 한 단계씩 실행하기

VBVB편집기에서편집기에서 매크로를매크로를 한한 단계씩단계씩 실행실행

www.gilbut.co.kr

2-8 상대참조와 절대참조로 매크로 저장하기

일반적인일반적인 방법과방법과 ‘‘상대참조상대참조’’ 누른누른 상태에서상태에서 기록한기록한 매크로매크로 코드코드 내용내용 비교비교

1. 절대 참조로 기록

www.gilbut.co.kr

2-8 상대참조와 절대참조로 매크로 저장하기

www.gilbut.co.kr

2-8 상대참조와 절대참조로 매크로 저장하기

2. 상대 참조로 기록

www.gilbut.co.kr

2-8 상대참조와 절대참조로 매크로 저장하기

www.gilbut.co.kr

2-10 VB 편집기 화면 구성 요소

VB VB 편집기편집기 구성구성 창의창의 종류와종류와 바로바로 가기가기 키키• 프로그램 탐색기 - Ctrl + R• 속성창 - F4• 코드창 - F7 • 직접 실행 창 - Ctrl + G• 개체 찾아보기 - F2

ü VB 편집기 화면 구성 요소v 제목 표시줄v 메뉴와 도구 모음v 프로젝트 탐색기v 속성 창v 코드 창v 직접 실행 창

www.gilbut.co.kr

3-1 VBA 프로그램의 구성

1. 애플리케이션(Application : 응용 프로그램)- 응용 프로그램으로 엑셀에서는 엑셀 자체를 의미

2. 프로젝트(Project)- 프로그램 측면에서 본 통합 문서로시트, 모듈, 폼 등으로 구성

3. 모듈(Module)- 프로시저를 입력할 수 있는 개체로표준, 폼, 클래스 모듈로 구분

4. 프로시저(Procedure)- 하나의 작업 단위로, 매크로와 사용자 정의 함수를 작성하는 단위

5. 사용자 정의 폼(User Form)- 입출력을 효과적으로 처리하기 위한 화면 체계

www.gilbut.co.kr

3-2 프로시저의 구성

1. 개체(Object)- 분리할 수 있는 하나의 단위이며, 워크시트, 셀과 같은 작업의 대상

2. 컬렉션(Collection)- 관련 있는 개체들의 모음으로 개체 집합

3. 속성(Property)- 개체가 가지는 정적인 면으로 워크시트 이름, 셀 배경색 등과 같은 개체의 모양

4. 메서드(Method)- 개체가 가지는 동적인 면으로 워크시트 삽입, 셀 삭제 등과 같은 개체의 동작

5. 이벤트(Event)- 문서를 열 때, 셀을 삭제할 때와 같이 개체에 특별한 동작이 이루어질 때

6. 클래스(Class)와 인스턴스(Instance)- 클래스 : 특정 개체를 만들기 위해 정의해 놓은 것- 인스턴스 : 클래스에 의해 만들어진 개체

www.gilbut.co.kr

3-7 VBA에서 사용되는 연산자와 계산 순서

1. 연산자의 종류와 우선순위

우선순위 산술 비교 논리

높음

낮음

지수(^) 같다(=) Not

부정(―) 같지 않다(<>) And

곱셈(*), 나눗셈(/) 작다(<) Or

정수 나눗셈(\) 크다(>) Xor

나머지연산(Mod) 작거나 같다(<=) Eqv

덧셈, 뺄셈(+,-) 크거나 같다(>=)

문자열 연결(&)LikeIs

높음 낮음

• 산술 > 비교 > 논리 연산자 순서로 계산

• 같은 분류에서도 우선순위가 높은 연산자를 먼저 계산

• 같은 연산자 2개 이상 있는 경우 왼쪽부터 먼저 계산

• 괄호 사용하면 괄호 안부터 먼저 계산

www.gilbut.co.kr

3-7 VBA에서 사용되는 연산자와 계산 순서

2. VBA 추가 연산자 사용법

연산자 기능 사용 예(직접 실행 창에서 사용)

결과 설명

\정수 나눗셈

나눗셈의 몫을 구함 ? 11\4 2 11을 4로 나눈 몫 2를 반환

? 9\3 3 9를 3으로 나눈 몫 3을 반환

Mod나머지 연산

나눗셈의 나머지를구함

? 11Mod4 3 11을 4로 나눈 나머지 3을 반환

? 12Mod4.30

4.3을 반올림한 수 4로 12를 나눈 나머지 0을 반환

Like

문자열에 포함된 값을 확인할 때 다음기호들과 함께 사용됨? : 한문자* : 0개 이상의 문자# : 한 숫자(0~9)[charlist] : charlist안의 한 문자[!charlist] : chalist 안에 없는 문자

?”horizons”Like”hor*” True 문자열이 “hor”로 시작되면 True값을 반환

?”신림1동”Like”신?동”False

? 기호는 한 문자만을 대체하므로 “신림1동”의앞뒤 글자가 ‘신’과 ’동’으로 같지만 4글자가 되어False가 됨

?”F”Like”[A-Z]”True

알파벳 A부터 Z까지의 내용 중 “F”값이 포함되어있으므로 항상 True값을 구함

?”F”Like”[!A-Z]”

False

Is

두 개체가 같은지를비교할 때 사용하며, 일반적인 숫자, 문자열 등의 비교에는사용하지 않습니다.

? Sheets(1) is ActiveSheet True

또는Flase

첫번째 시트가 선택된 상태라면 True값을 그렇지 않은 경우 False 값을 가집니다

www.gilbut.co.kr

3-8 변수란?

필수 생략 가능

DimStaticPrivatePublic

변수이름 AS 데이터 유형

1. 변수의 선언v 변수 선언 형식

v 변수 선언 예변수 선언문 설명

Dim int나이 As Integer 정수만 기억할 수 있는 ‘int나이’란 변수 선언

Dim str성명 As String 텍스트를 기억할 수 있는 ‘str성명’이란 변수 선언

Public dat시작일 As Date 날짜를 기억할 수 있는 ‘dat시작일’이란 변수를 현재 프로시저에서 뿐 아니라 여러 프로시저에서 공통으로 사용할 수 있도록 선언

Dim rng시작 As Range A1 또는 B10:C20과 같은 셀 영역을 기억할 수 있는 ‘rmg시작’이란 변수 선언

Dim sht기초 As Worksheet 워크시트를 기억할 수 있는 ‘sht기초’란 변수 선언

Dim myVar, nextVar, thirdVar 변수 myVar, nextVar, thirdVar를 한꺼번에 정의, 자동으로 모두Variant 변수로 선언합니다

Dim x As Integer, y As Integer, z As Integer x, y, z 모두 Integer 형으로 선언합니다

Dim x, y, z As Integer x, y는 Variant 형으로 선언하고, z만 Integer형으로 선언합니다

www.gilbut.co.kr

3-8 변수란?

2. 변수 이름 지정 규칙① 첫 번째 문자는 반드시 숫자가 아닌 문자이어야 합니다.

② 공백이나 마침표(.), 느낌표(!), @, &, $, #, - [ 등 밑줄(_) 이외의 특수 문자는 사용할 수 없습니다.

③ 길이는 255자를 넘을 수 없습니다.

④ Sub, Msgbox, Left처럼 Visual Basic의 함수, 명령문, 매서드와 같은 이름은 사용할 수 없습니다.

⑤ 같은 수준의 범위에서는 이름을 중복하여 지정할 수 없습니다. 예를 들어, 같은 프로시저에서age라는 변수를 두 개 선언할 수 없습니다. 그러나 같은 모듈에서 Private 변수 age와, 프로시저 수준 변수 age를 선언할 수는 있습니다.

가능한 변수 이름 잘못된 변수 이름

in_Date Date_1

in-Data1_DataData[1]

www.gilbut.co.kr

3-8 변수란?

3. VBA 데이터 형식 종류데이터 형식 저장 용량 설 명Byte 1 바이트 0 ~ 255까지 정수Integer 2 바이트 정수 -32768 ~ 32767까지 정수Long 4 바이트 정수 -2,147,483,648 ~ 2,147,483,647까지 정수Single 4 바이트 부동 소수 음수인 경우 -3,402823E38 ~ 1.401298E-45까지,

양수인 경우 1,401298E-45 ~ 3.402823E38까지 실수Double 8 바이트 부동 소수 음수인 경우 -1.79769313486232E308 ~ -4.94065645841247E-324까지,

양수인 경우 4.94065645841247E-324 ~ 1.79769313486232E308까지 실수Data 8 바이트 100년 1월 1일부터 9999년 12월 31일까지의 날짜와 0:00:00부터 23:59:59까지의 시간을 표현Currency 8 바이트 고정 십진

소수정수 부분 15자리와 소수점 이하 4자리의 고정 소수점을 주기 위하여 10,000단위로 구분한정수 형식- 922,337,203,685,477.5808부터 922,337,203,685,477.5807까지 표현이 가능

String 문자열 길이 가변 길이 문자열은 대략 2조개까지의 문자를 포함고정 길이 문자열은 1부터 대략 65,400(216)개까지의 문자를 포함

Variant 16 바이트 날짜/시간, 부동 소수, 정수, 문자열 또는 개체숫자 Variant는 Double 형까지 변환문자 Variant는 가변 String과 같은 범위

Boolean 2 바이트 True/False 값만 가짐0은 False로 그외 값은 True로 인식

Object 4 바이트 개체의 종류에 따라 Range, Worksheet, Workbook 등과 같이 적절한 개체형을 지정하거나Object라는 일반적인 개체 형태로 지정할 수 도 있음개체 변수에 값을 지정할 때는 반드시 Set 문을 사용해야 함

사용자정의 형식

Type문으로 선언된요소들이 가진 크기

Type문을 사용해서 만든 사용자 정의 형식

www.gilbut.co.kr

4-1 조건을 만족할 때만 작업 실행하기

If If 조건식조건식 ThenThen조건식을조건식을 만족할만족할 때때 실행문실행문

End IfEnd If

▲ MsgBox함수로 실행된 대화상자 ▲ [확인]을 클릭한 경우

▲ InputBox 함수로 실행된대화상자

◀ 암호를 입력하지않거나 취소를 누른 경우

◀ 암호를 입력한 경우

www.gilbut.co.kr

4-2 조건을 만족할 때와 그렇지 않을 때를나누어 처리하기

If If 조건식조건식 ThenThen조건식을조건식을 만족할만족할 때때 실행문실행문

ElseElse조건식을조건식을 만족하지만족하지 않을않을 때때 실행문실행문

End IfEnd If

▲ 현재 시트명이 “Sheet”로 시작하는 경우새 시트명을 입력할 수 있는 창 표시

▲ 현재 시트명이 “Sheet”로 시작하지않는 경우 현재 시트명을 표시

Option Conpare Text

Sub IF_Ex3( )

Dim strinPut As String

If ActiveSheet.Name Like “sheet * ” Then

strinPut = InputBox(“시트 이름이 지정되지 않은 상태입니다.” & vbCr & _

새로 지정할 시트명을 입력하세요”, “시트명 지정”)

ActiveSheet.Name = strinPut

Else

MsgBox “현재시트명 : “ & ActiveSheet.Name

End If

End Sub

www.gilbut.co.kr

4-3 조건에 따라 세 가지 이상의 처리방법으로 처리하기

If If 조건식조건식1 Then1 Then조건식조건식11을을 만족할만족할 때때 실행문실행문

ElseIF ElseIF 조건식조건식2 Then2 Then조건식조건식22을을 만족할만족할 때때 실행문실행문

[ElseIF [ElseIF 문문 반복반복 ]]ElseElse

조건식조건식1,21,2를를 모두모두 만족하지만족하지 않을않을 때때 실행문실행문End IfEnd If

▲ 급여 입력 창

▲ 급여에 따른 세금 표시 창

Sub 중첩_IF( )Dim IngValue As Long

IngValue = InputBox(“세금을 계산할 대상 급여액을 입력해 주세요”, _“세금 계산”)

If IngValue = 0 ThenMsgBox “잘못입력하셨네요.”

ElseIf IngValue <= 1000000 ThenMsgBox “세금은” & Format(0.08 * IngValue, “#,##0”)

ElseIf IngValue <= 3000000 ThenMsgBox “세금은” & Format(0.1 * IngValue, “#,##0”)

ElseMsgBox “세금은” & Format(0.12 * IngValue, “#,##0”)

MsgBox “현재시트명 : “ & ActiveSheet.NameEnd If

End Sub

www.gilbut.co.kr

4-4 And/OR를 사용하여 여러 조건을한 번에 체크하기

조건식조건식1 AND 1 AND 조건식조건식2 AND 2 AND ……조건식조건식1 OR 1 OR 조건식조건식2 OR 2 OR ……Not Not 조건식조건식

Sub IF_AND( )Dim IngValue As Integer

IngValue = InputBox(“성적을 입력하세요”, “성적”)If IngValue >=90 And intValue <= 100 Then

MsgBox “최우수”ElseIf IngValue >=80 And intValue <90 Then

MsgBox “우수”Else

MsgBox “열심히들 하세요!”End If

End Sub

Sub IF_OR( )Dim strValue As String

strValue = InputBox(“성별을 입력하세요”, “성별”)If strValue=“남” Or strValue=“여” Then

MsgBox “정상 처리되었습니다.”, , “처리완료”Else

MsgBox “성별 구분이 잘못되었습니다.”, vbCritical, “입력 오류”End If

End Sub

www.gilbut.co.kr

4-5 Select Case 문으로 다중조건을 처리하기

Select Case Select Case 식식( ( 또는또는 변수변수))Case Case 값값11

실행문실행문[ Case [ Case 값값22실행문실행문Case ElseCase Else

실행문실행문 ]]End SelectEnd Select

Sub 평점계산Dim int성적 As Integer, int평점 As Integer

int성적 = InputBox(“당신의 성적은?, “성적입력”)Select Case int성적

Case 100int평점 = 10

Case 98, 99int평점 = 9

Case 90 To 98int평점 = 8

Case Is >= 60int평점 = 7

Case Elseint평점 = 0

End SelectMsgBox “당신의 인사 평점은” & int평점 & “점 입니다.”

End Sub

www.gilbut.co.kr

4-6 For 문으로 반복할 횟수를 지정하여반복하기

For For 카운터카운터 변수변수 = = 시작수시작수 To To 끝수끝수 [Step [Step 증감값증감값]]실행문실행문

Next [Next [카운터카운터 변수변수]]

Sub For_Ex1( )

Dim i As Integer, iSum As Integer

For i = 1 To 100 Step 2

iSum = iSum + i

Next i

MsgBox “1~100 중 홀수의 합 = ” & iSum

End Sub

Sub For_Ex2( )

Dim i As Integer, iSum As Integer

For i = 99 To 1 Step -2

iSum = iSum + i

Next i

MsgBox “1~100 중 홀수의 합 = ” & iSum

End Sub

www.gilbut.co.kr

4-7 For Each 문으로 여러 개체를 대상으로반복 처리하기

For Each For Each 개체개체 변수변수 In In 컬렉션개체컬렉션개체실행문실행문

Next [Next [개체개체 변수변수]]

Sub ForEach_Ex1( )Dim wkSheet As WorkSheet

For Each wkSheet In WorkSheetMsgBox wkSheet.Name

NextEnd Sub

Sub ForEach_Ex2( )Dim rngInData As Range

For Each rngInData In Selectionif rngInData.Value <= 10000 Then

rngInData.Font.Color = RGB(255, 0, 0)rngInData.NumberFormat = “▼#,##0”

End IfNext

End Sub

www.gilbut.co.kr

4-9 Do 문을 이용하여 조건을 만족하는 동안반복하기

형태Do While 조건식

실행문Loop

Do실행문

Loop While 조건식

특징조건식을 만족하지 않으면한 번도 실행되지 않음

조건식을 만족하지 않아도무조건 한 번은 실행됨

예제-1 예제-2

Sub Do_Ex1( )Do While ActiveCell <> “”

ActiveCell.Offset(0, 1) = “’” & ActiveCell.FormulaActiveCell.Offset(1,0).Select

LoopEnd Sub

Sub Do_Ex2( )Do

ActiveCell.Offset(0, 1) = “’” & ActiveCell.FormulaActiveCell.Offset(1,0).Select

Loop While ActiveCell <> “”End Sub

조건을 먼저 확인하기 때문에 현재 셀이 비어있는 경우Do 문 안의 내용이 한 번도 실행되지 않습니다.

조건을 끝에 확인하기 때문에 현재 셀이 비어있어도Do 문 안의 내용이 한 번은 실행됩니다.

www.gilbut.co.kr

4-9 Do 문을 이용하여 조건을 만족하는 동안반복하기

www.gilbut.co.kr

5-1 Range를 이용해 작업 범위 지정하기

개체개체. Range(. Range(시작시작 셀셀 주소주소[, [, 종료종료 셀셀 주소주소] )] )

[A1] [A1] 형태로형태로 대괄호를대괄호를 사용한사용한 셀셀 주소주소 지정지정 방법방법

Range 속성 대괄호 사용

Range(”A1”) = “길벗” [A1] = “길벗”

Range(“B:B”).Select [B:B].Select

? Range(“주소록_시작 셀”).Address ? [주소록_시작 셀].Address

www.gilbut.co.kr

5-4 Offset 속성을 이용하여 상대적인 범위설정하기

Ranger Ranger 개체개체.Offset (.Offset (행행 이동이동 수수, , 열열 이동이동 수수))

12

3

www.gilbut.co.kr

5-5 행 또는 열 전체 선택하기

•• 시트시트 개체개체.Columns(.Columns(열열 번호번호) → ) → 지정한지정한 시트의시트의 열열 전체전체•• 시트시트 개체개체.Rows(.Rows(행행 번호번호) → ) → 지정한지정한 시트의시트의 행행 전체전체•• Range Range 개체개체.EntireColumn → .EntireColumn → 지정한지정한 셀셀 영역의영역의 열열 전체전체•• Range Range 개체개체.EntireRow → .EntireRow → 지정한지정한 셀셀 영역의영역의 행행 전체전체

1. Columns, Rows로 열/행 전체 선택

123

456

78

2

4

5

7

www.gilbut.co.kr

5-5 행 또는 열 전체 선택하기

2. EntireColumn, EntireRow

1234

1

2

3

www.gilbut.co.kr

5-7 Value, Text, Formula 속성으로 셀 내용확인 및 지정하기

•• Range Range 개체개체.Value → .Value → 셀셀 내용을내용을 지정하거나지정하거나 표시표시•• Range Range 개체개체.Text → .Text → 셀셀 서식이서식이 적용된적용된 상태로상태로 셀셀 내용내용 표시표시•• Range Range 개체개체.Formula → .Formula → 셀셀 내용을내용을 지정하거나지정하거나 표시표시. . 수식은수식은 수식으로수식으로 표시표시•• Range Range 개체개체.FormulaR1C1 → .FormulaR1C1 → 셀의셀의 내용을내용을 지정하거나지정하거나 표시표시. . 수식은수식은 상대상대 참조로참조로 지정하거나지정하거나 표시표시

1. Value 속성

www.gilbut.co.kr

5-7 Value, Text, Formula 속성으로 셀 내용확인 및 지정하기

2. Formula 속성

www.gilbut.co.kr

5-7 Value, Text, Formula 속성으로 셀 내용확인 및 지정하기

3. FormulaR1C1 속성

4. Text 속성

www.gilbut.co.kr

5-10 VBA 코드를 모를 때 필요한 코드알아내는 방법

<<신규입력신규입력> > 클릭클릭 시시 서식서식 복사복사 후후 하단하단 빈빈 셀로셀로 이동이동

www.gilbut.co.kr

5-10 VBA 코드를 모를 때 필요한 코드알아내는 방법

www.gilbut.co.kr

5-10 VBA 코드를 모를 때 필요한 코드알아내는 방법

www.gilbut.co.kr

셋째마당셋째마당

그대로그대로 베껴베껴 쓰는쓰는VBA VBA 코드코드

www.gilbut.co.kr

11-1 기본급에 따른 공제액 계산 함수 만들기

기본급에기본급에 따라따라 공제액이공제액이 자동자동 계산계산

[[사용사용 VBA VBA 코드코드] : Select Case] : Select Case문문, Round , Round 함수함수

www.gilbut.co.kr

11-6 수식을 문자열로 표시하기

수식내용수식내용 문자열로문자열로 표시표시

[[사용사용 VBA VBA 코드코드] : HasArray ] : HasArray 속성속성, HasFormula , HasFormula 속성속성, Formula , Formula 속성속성

www.gilbut.co.kr

11-7 수식 형태로 입력한 문자열을 계산하기

수식수식 같은같은 문자열문자열 계산계산

[[사용사용 VBA VBA 코드코드] : Const] : Const문문, For, For문문, Mid, Len, InStr , Mid, Len, InStr 함수함수, Application.Evaluate , Application.Evaluate 메서드메서드

www.gilbut.co.kr

11-7 수식 형태로 입력한 문자열을 계산하기

문자열문자열 내용이내용이 숫자와숫자와 연산자로만연산자로만 구성된구성된 경우경우

• ‘Application.Evaluate’만 사용

www.gilbut.co.kr

11-8 문자열 중 숫자만 추출하기

문자열에서문자열에서 숫자숫자, , 영문자영문자 등으로등으로 필요에필요에 따라따라 추출추출

[[사용사용 VBA VBA 코드코드] : For] : For문문, Select Case, Select Case문문, Len, Mid , Len, Mid 함수함수

www.gilbut.co.kr

11-11 엑셀 버전 표시하기

프로그램프로그램 상에서상에서 엑셀엑셀 버전버전 체크하기체크하기

[[사용사용 VBA VBA 코드코드] : Select Case] : Select Case문문, Application.Version, Application.Version

www.gilbut.co.kr

11-12 특정 항목의 자료만 모아 한 셀에표시하기

하나의하나의 제목으로제목으로 동일한동일한 자료자료 내역을내역을 한한 셀에셀에 모두모두 표시표시

[[사용사용 VBA VBA 코드코드] : Collection] : Collection개체개체, Collection.Add, Collection.Add메서드메서드, For, For문문, For Each, For Each문문

www.gilbut.co.kr

11-12 특정 항목의 자료만 모아 한 셀에표시하기