목록VBA (11)
세진세상
VBA 날짜 함수 #1 앞으로 날짜를 핸들링하는 방법에서 대해 학습하겠다. 시작에 앞서, 날짜 데이터가 어떤 형식인지 알아두자. VBA에서 날짜 데이터는 8바이트의 부동소수점 값이란다. 됐고, 알아둬야 할 점은 정수부분은 1900년 1월 1일을 시작으로 몇 일이 지났는지를 포함하고, 소수부분은 하루는 1로 봤을 때의 흘러간 시간을 나타낸다. 이런 형태을 이용하여 날짜 간의 연산이 가능하다. 여하튼 지금부터 학습할 날짜 함수는 날짜 입력 기초와 현재 날짜를 핸들링하는 함수다. 날짜 입력 데이터 타입 : Date #월/일/년 시:분:초 AM(PM)# VBA에서 날짜 데이터의 타입은 Date다. 그리고 날짜를 직접 입력할 경우 ##을 리터럴로 사용한다. 마치 문자열을 입력할 때, ""을 사용하는 것과 동일하다..
VBA 문자열 함수 #4 VBA의 문자열 함수 중에서 '배열'과 관련된 함수를 알아보겠다.특정 문자나 기호로 구분할 수 있는 문자열을 배열에 나눠 넣거나,반대로 배열에 입력되어 있는 각각의 문자를 하나의 문자열로 연결하는 것이다. SPLIT(문자열, 구분자)입력된 문자열을 지정한 구분자로 자르고, 배열의 각 주소에 나눠서 등록한다.구분자을 따로 지정하지 않으면, 공백으로 구분하여 문자열을 자르게 된다. 바로 실습에 들어가겠다.무한도전 토토가3로 다시 뭉쳤던 H.O.T의 노래 "We are the Future"를 문자열로 사용하고,각 단어를 배열에 나눠 입력하자. 1234567891011121314151617181920Sub Split_ex() Dim str As String Dim arr1() As St..
VBA 문자열 함수 #3 VBA의 문자열 함수 중에서 '추출'과 관련된 함수를 알아보겠다. 문자열을 추출한다는 뜻이 광범위하지만, 아주 기본적인 추출을 학습하겠다. 문자열에서 필요한 단어 부분을, 불필요한 공백을 제거한 문자열을 추출하는 함수를 학습하겠다. 문자열 추출. Left(문자열, 추출 문자수) 문자열의 왼쪽부터 지정한 추출 문자수만큼을 추출한다. Right(문자열, 추출 문자수) 문자열의 오른쪽부터 지정한 추출 문자수만큼 추출한다. Mid(문자열, 시작 위치, 추출 문자수) 문자열의 지정한 시작 위치에서 왼쪽부터 지정한 추출 문자수만큼 추출한다. 단, 문자열의 첫 위치는 1번이다. 함수 이름과 용도가 직관적이고, 유의할 점이 크게 없다. 바로 실습에 들어가자. '우주겁쟁이'의 노래 '후유증'의 ..
VBA 문자열 함수 #2 VBA의 문자열 함수 중에서 '출력 방식'에 관련한 함수를 알아보겠다. 함수마다 여러 옵션을 가지고 있다. 이를 학습하면서 그 일부를 실습해보자. StrConv(문자열, 옵션) 입력된 문자열을 옵션에 따라 변환된 문자열을 리턴한다. 변환 옵션은 코드 타이핑 시 자동 완성 기능이 도와주기 때문에 외울 필요까지는 없다. 다만, 해당 옵션이 무엇을 의미하는지 알아두자. 변환 옵션 vbUpperCase (1) : 문자열을 모두 대문자로 변환 vbLowerCase (2) : 문자열을 모두 소문자로 변환 vbProperCase (3) : 문자열의 각 단어 첫글자를 대문자로 변환 vbWide (4) : 1byte 문자를 2byte로 변환 vbNarrow (8) : 2byte 문자를 1byte..
VBA 문자열 함수 #1 VBA의 문자열 함수 중에서 '문자열 비교'와 관련한 함수를 알아보겠다. 함수 코드와 용도가 직관적이어서 쉽게 익힐 수 있다. StrComp(문자열1, 문자열2, 비교 방식) 문자열1과 문자열2를 비교하는 함수이다. 쉽게 말해 같은지 다른지 판단한다. 문자열1이 문자열2보다 클 경우 1, 같으면 0, 작으면 -1을 출력한다. 문자열이 크고 작다고? 이전에도 언급한 적이 있지만, 문자나 기호에는 숫자로 된 코드가 있어서 그 값을 비교한다는 것이다. 비교방식은 세 가지가 있지만, 그 중에 두 가지는 잘 알아두자. vbBinaryCompare (0) : 이진 비교, 앞서 이야기한 숫자 코드를 비교한다. vbTextCompare (1) : 텍스트 비교, 대소문자를 구분하지 않는 텍스트 ..
VBA 반복문#2 반복 횟수를 지정하여 일정 코드를 반복 수행하는 반복문이 아니라, 특정 조건이 참, 거짓 여부에 따라 일정 코드 반복 수행하는 반복문을 알아보겠다. 조건은 일반적으로 연산자가 들어간 형태를 갖는데, 해당 조건이 참인지 거짓인지를 판단하여 반복을 수행한다. 연산자 http://sejinworld.tistory.com/13 조건문을 이용한 반복문은 Do ~ Loop문이다. Do ~ Loop문은 크게 2가지, 구조에 따라 4가지로 구분한다. Do While Loop Do Until Loop Do Loop While Do Loop Until 이 정도만 알면 충분해 보인다. 하나씩 알아보면서, 실습도 함께 하겠다. Do While Loop Do While 조건문 반복코드 Loop 의 구조를 갖는..
VBA 반복문 #1 프로그래밍을 하다보면 반복적인 수행이 필요할 때가 많다. 그렇기 때문에 반복문은 지난 번에 학습한 조건문 만큼이나 중요하다. 반복문은 흔히 수행 횟수를 설정하여 해당 횟수만큼 수행을 반복하거나, 수행 조건을 부여하여 해당 조건이 참 또는 거짓일 경우 계속해서 수행한다. 이번에는 전자의 설정한 수행 횟수만큼 반복하는 구조를 학습하겠다.For ~ Next문 For 카운터 변수 = 시작값 to 끝값 반복 수행 코드 Next 카운터 변수 의 형태를 기본 구조로 한다. 카운터 변수가 수행 횟수의 설정이다. 이는 시작값부터 매 반복마다 기본적으로 1씩 증가하고, 끝값에 도달하면 마지막으로 반복 코드를 수행하게 된다. 간단한 예시 코드를 실습해보자. 크기 3의 배열을 생성하여 각 주소에 0부터 2..
VBA 조건문. 조건문이라 그러니까 영어 공부하던 시절에 문법이 떠오르며, 으으으 벌써 싫다고 할 수 있다. 어쩌면 그 영어 문법보다 더 싫을 수 있지만, 프로그래밍에서 조건문의 비중은 상당히 높다. 그만큼 철저히 익히고, 자주 연습해야 한다. 그렇게 부르니까 거창하게 조건문이지, 사실 일상에서 이 조건문의 구조를 쉽게 찾아볼 수 있다. 이를테면, 신호등에 빨간 불이 들어오면 멈추고, 파란 불이 들어오면 건넌다. 이런게 조건문이다. 일정 조건에 따라 그 조건에 해당되는 구문을 수행하는 것이다.IF 가장 보편적으로 사용되는 조건문은 IF문이다. VBA IF문의 구조를 살펴보자. If 조건 1 Then 수행 코드(조건 1이 참일 경우 수행) ElseIf 조건 2 Then 수행 코드(조건 1일 거짓이고, 조건..
VBA 연산자. VBA 코드를 작성할 때, 활용되는 연산자에 대해 알아보자. 연산자는 산술, 비교, 논리의 세 가지 연산자로 구분하는 것이 일반적이다. VBA만이 아니라, 다른 프로그래밍 언어에서도 활용되고 대부분 동일하다. 다른 언어를 접해봤다면 연산자가 익숙할테지만, 그렇지 않다면 열심히 학습하자.산술 연산자. 우리가 알고 있는 사칙연산이 이에 해당한다. 숫자를 가지고 노는 연산자라고 편하게 생각하자. +, -, *, / 이 외에도 잘 사용되는 산술 연산자를 추가적으로 알아보자. + : 합 - : 차 * : 곱 / : 몫 \ : 몫(정수) 이거 못찾는 분들 계신다, Enter 위에 있다. Mod : 나머지 ^ : 제곱 \ 연산자는 / 연산자와 유사하지만, 그 결과가 일부 다르다. 예를 들면, 4/3 ..
Excel VBA 프로시저, 변수선언 VBA에는 두가지 프로시저가 있다. Sub 프로시저와 Function 프로시저다. 두 프로시저 모두 입력된 코드를 실행하는 역할이지만, 일반적으로 Sub는 수행, Function은 값 리턴이라는 차이가 있다고 한다. 뭔 소리인가 싶으니, 직접 해보도록 하자.Hello라는 문구를 출력하는 Sub 프로시저를 만들어보자. 12345678910111213Sub proc_ex1() ' Sub 프로시저 : 특정 동작 실행 'Sub 프로시저이름(매개변수) '코드 'End Sub '팝업 창으로 출력 'MsgBox(출력값) MsgBox ("hello") End Subcs 코드 입력이 끝났다면, 실행해보자. 실행 방법은 두 가지를 소개하겠다. 하나는 VBA 창에서 상단 메뉴의 재생 버..