
■ VBA 코드의 종류 - Sub 프로시저 : 어떤 동작을 수행하는 명령문의 집합 - Function 프로시저 : 하나의 값이나 배열을 반환하는 명령문의 집합 - Property 프로시저 : 클래스 모듈에서 사용하는 특수한 형태의 프로시저 - Declaration : VBA에게 사용하려는 변수에 대한 정보를 알려 줌 ( Data Type 선언 가능) ※ 주석처리 : 작은 따옴표( ' ) 이용 ※ 줄 연속 문자 : 빈칸 + 언더바( _ ) + Enter ※ :(콜론)을 이용하여 한줄에 여러 명령문 입력 x=1: y = 2: z=3 ※ 직접실행창에 코드 테스트 - 코드 반환값이 있는 경우 : Print 코드 ? 코드 예) ?Range("A1").Value 11 - 코드 반환값이 없는경우 : 코드 예) Msg..

■ 오류 종류 구문 오류 : 문법 오류 런타임 오류 : 프로시저 구동 중 발생하는 오류 ※ 오류처리프로시져를 작성하여 에러를 처리하고자 한다면 VBE 옵션에서 [오류발생 시 무조건 중단] 해제 -> [ 처리되지 않은 오류 발생 시 중단 ] 선택 ■ 오류처리 개념 VBA는 기본적으로 프로시저 구동 중 발생하는 런타임 오류에 대해서 VBA오류메시지 대화상자를 뛰운다. -------------------------------≫ 일반 Excel사용자가 이런 에러 메시지창을 대하면 대처가 불가할 수 있으니 배포자가 에러를 내부적으로 처리할 필요가 있다 ( 배포자가 작성한 메시지를 뛰우거나 에러처리 코드 실행 ) ▶ VBA는 에러발생 시 발생에러를 Err 개체의 Number 속성에 저장 ▶ Error함수를 이용하여..

참조 대상(RefersTo)은 = 대상 으로 표현 ■ 셀/범위에 이름 정의하기 ActiveWorkbook.Names.Add _ Name:="수입", _ RefersTo:="=Sheet1!$A$1" ■ 행/열에 이름 정의하기 ActiveWorkbook.Names.Add _ Name:="참조영역", _ RefersTo:="=Sheet1!$G:$G" ■ 상수에 이름 정의하기 ActiveWorkbook.Names.Add _ Name:="참조", _ RefersToR1C1:="=25" ■ 개체에 이름 정의하기 : 피벗 테이블, 도형과 같은 개체에도 이름정의 가능 ※ 이미 참조되고 있는 셀/범위에 이름 적용하기 A1, B1에 수입, 지출 이름을 지정하더라도 C1에 적용된 수식이 자동을 이름이 적용된 수식으로 변경되..
■ 동일 통합문서의 다른 워크시트에 있는 셀을 참조 = 시트명 ! 셀 =Sheet2!A1 ■ 다른 통합문서에 있는 셀을 참조 ▶ 참조 대상 통합문서가 열려있는 경우 ☞ 파일명에 공백이 없는 경우 = [파일명] 시트명 ! 셀 =[통합문서1.xlsx]Sheet2!A1 ☞ 파일명에 공백이 있는 경우 = ' [공백파일명] 시트명 ' ! 셀 ='[통합∨문서1.xlsx]Sheet2'!A1 ▶ 참조 대상 통합문서가 열려 있지 않는 경우 = ' 파일경로 [파일명] 시트명 ' ! 셀 ='C:\Users\TaeIk\Desktop\[통합문서1.xlsx]Sheet2'!A1 ='C:\Users\TaeIk\Desktop\[통합∨문서1.xlsx]Sheet2'!A1 ※ 수식입력시 직접입력도 가능하나 참조하려는 셀을 마우스 클릭하여 ..

Switch 알고리즘을 이용한 중복데이터 추출 CODE Function Switch_Algorism(arr) ' 중복데이터 제거 -> 단일 데이터 Dim i, j, k, cnt As Integer Dim NewArray() As Variant k = 0 For i = LBound(arr) To UBound(arr) - 1 cnt = 0 For j = i + 1 To UBound(arr) If arr(i) = arr(j) Then cnt = cnt + 1 Exit For End If Next j If cnt = 0 Then ReDim Preserve NewArray(k) NewArray(k) = arr(i) Debug.Print NewArray(k) k = k + 1 End If Next i ReDim P..

■ Range 매개변수로 데이터를 받아 배열을 반환하기 - 모듈을 생성하여 아래의 코드를 붙여넣어 사용자 정의 함수를 생성한다. CODE Function ReturnArray(rng As Range) As Variant Dim r, Arr() As Variant Dim i As Integer i = 0 For Each r In rng ReDim Preserve Arr(i) Arr(i) = r i = i + 1 Next r ReturnArray = Arr End Function - O1셀에 수식을 입력하여 X1까지 드래그한 결과 (배열 미적용) 전달 범위 함수 실행결과 수식입력 - O1~X1영역을 선정하여 배열수식 입력 결과 (배열 수식 적용) 전달범위 함수 실행결과 동일 수식입력 ■ Range 매개변수로..
DATA배열을 만들기 위해서는 반드시 String형 자료형 선언 필요 # variant자료형으로 선언시 split하여 대입된 DATA의 모양 => DATA(0)(0), DATA(0)(1)........ 형식임 (차후 정리 필요) - Trim을 이용하여 양끝 공백 제거 - Split을 이용하여 space bar 단위로 문자열 split - 문자열을 정수화하여 직접실행창에 출력 Dim i As Integer Dim a, DATA() As String a = InputBox("데이터 입력 [ space bar로 구분 ]") DATA = Split(Trim(a)) For i = LBound(DATA) To UBound(DATA) Debug.Print (Int(DATA(i))) Next i

출처 : 프리렉 / 엑셀 VBA 바이블 / 이현곤 구미숙 저 WIELY / Excel 2016 Power Programming with VBA / John Walkenbach 7.7 VBE 환경 사용자 지정 이것만은 꼭 확인하자!!! ■ 도구>옵션 ▶ 변수 선언 요구 이 옵션을 선택하면 Option Explict 이 코드창 상단에 자동 생성 변수에 대하여 반드시 정의하고 사용해야 한다. ▶ 처리되지 않은 오류 발생 시 중단 이 옵션을 선택해야 개발자가 만든 오류처리 코드가 실행된다. 7.8 매크로를 개인용 매크로 통합문서에 저장하기 ▶ 이곳에 저장된 매크로는 모든 통합 문서에서 사용가능 ▶ 매크로 저장위치 : 개인용 매크로 통합 문서 ▶ 파일위치: C:\Users\TaeIk\AppData\Roaming\..
- Total
- Today
- Yesterday
- 원본 데이터
- 함수 프로시저
- 사용자 정의 함수 재계산
- 사용자 정의 함수
- 강제 재계산
- 프로시저 작성 실전
- Option Compare Text
- vba
- 배열
- Screenupdating
- 프로시저 호출
- 사용자 정의 함수 사용 예
- 워크시트 함수 재계산
- 참조
- Function Procesure
- 적용 범위
- inputbox
- function함수 예외
- 차트 서식변경
- WorkSheet Sort
- Application.InputBox
- Excel
- ProtectStructure
- comment.text
- EnableCancelKey
- bubble sort
- 개체
- 차트 레이블 추가
- for each
- 함수 재계산
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |