엑셀자료 사용 안내 엑셀 매크로(VBA)를 이용하여 만든 간단한 프로그램과 엑셀 매크로(VBA)를 배울 수 있는 강좌가 있습니다.
따라서, 대부분 프로그램을 이용하기 위해서는 엑셀 매크로 사용하기 설정을 하여야 합니다. (1.보안설정) 클릭 (2.개발도구설정) 클릭

엑셀 매크로(VBA) 강의를 아마추어가 하는 이유는?

저는 수학이 싫어서 문과를 선택했고, 대학 4학년 2학기 때, 앞으로 컴퓨터를 모르면 안 된다는 낭설을 믿고, 혈기에 컴퓨터 기초(교양) 과목을 수강했으나, D 학점을 받아서 졸업을 간신히 한 경력을 갖고 있습니다.

그래서, 이곳에서 설명하는 엑셀 매크로(VBA)는 저와 같은 비 전문가를 위한, 또 초보를 위한 설명입니다.


 

1. 엑셀 매크로(VBA)는 배우기 엄청 쉽습니다. 3가지만 기억하세요

제가 주로 사용하는 명령은 딱 3가지입니다. 회계업무를 비롯한 숫자, 데이터를 이 3가지 명령으로 모두 처리 가능합니다.

이 세 가지만 알고, 천천히 자신의 것으로 만들어 간다면 일반적인 업무를 하기에 충분한 매크로(VBA)를 직접 작성할 수 있습니다.

 

 

첫째, i = i +1 을 이해한다.

둘째, if 문을 이해한다

셋째, for 문을 이해한다.

 

 

 

첫째, i = i +1 을 이해한다.

i = i +1이란 수학 공식 1+1 = 2와 전혀 다른 개념입니다. 

수학 공식의 = 는 왼쪽과 오른쪽이 같다는 표현이나, 매크로(VBA)에서는 오른쪽 데이터를 왼쪽에 넣어라입니다.

 

 

이미지 22.png

 

즉, 위 매크로(VBA)의 결과는 2입니다.

 

이미지 23.png

 

첫 번째 줄 왼쪽 i 에 오른쪽 1을 넣고,

그 다음 줄에 있는 왼쪽 i 에는 오른쪽에 i 에 1을 더한 값을 만들라는 뜻입니다.

죽, 2번째 왼쪽 i 는 2이며, 2번째 오른쪽 i 는 1입니다.

그래서 MsgBox(MessageBox - 메시지박스)에 최종 i를 보여 달라는 명령입니다.

즉, 매크로(VBA)에서 "="는 등호가 아닙니다. 이것만 기억하시면 매크로(VBA)의 80%을 이해한 것입니다.

개인적으로 저는 이 사실을 알게 된 것이 매크로(VBA)를 배우고 1년 뒤입니다.

너무나도 이해하기 힘든 사실이지만, 만약 이 논리만 이해한다면 나머지는 아주 쉽습니다.

둘째, if 문을 이해한다

이건 매크로(VBA-Visual Basic Application)의 특성상 쉬운 개념입니다. 즉, 매크로(VBA)는 눈에 보이는(Visual) 기초(Basic)적인 명령으로 구성되어 있습니다.

그래서 if 문을 살펴보면, 너무나 단순한 구조를 가지고 있습니다.

 

이미지 24.png

 

If(만약에)  i > 1(조건이)  Then(일치하면)

           (이곳을 실행해라)        MsgBox i & "는 1보다 크다"

Else(일치하지 않으면)

            (이곳을 실행해라)       MsgBox i & "는 1보다 작다"

End If(IF문 종료하기)

즉, IF 조건 THEN , ELSE, END IF로 이루어져 있습니다.

 

거의 자연어에 가깝게 문법이 구성되어 있습니다. 우리말로 한다면 

만약에 조건이 맞는다면 이곳에 적고, 틀리다면 이곳에 적으세요. 여기가 IF의 끝입니다.

셋째, for 문을 이해한다.

첫 번째 i = i +1 이 세 가지 중 가장 어려운 개념이고 if 문이 가장 쉬운 개념이라면 for 문은 딱 중간쯤 쉬운 개념입니다.

매크로(VBA)를 사용하는 목적이 반복적인 행동(예, 복사 - 붙여넣기 100번, 잘라내기 100번)을 매크로(VBA)로 처리하고자 함입니다. 그래서 for문의 이해가 중요합니다.

 

이미지 25.png

 

위 사진이 For문의 예입니다. 

 

For j = 1 To 99        (j를 1에서 99까지 계속)

   (반복적인 일하기)

Next j                    (다음 j)

for문을 설명하기에 앞서, if문을 간단하게 살펴보겠습니다.

"만약 i가 100보다 크면 아무것도 하지 말고, 그렇지 않다면 for문을 해라"입니다. 너무 쉬워서 설명이 필요 없습니다. 

이제  For문을 설명하면 for는 우리말로 "~하는 동안"이며, To는 "~에서 ~까지"를 뜻하고, Next는 "다음"을 의미합니다.

쉽게 이야기하면 "1부터 99까지 계속 돌아라"의 뜻입니다.

그래서 For next가 돌아가는 동안  For next 속에 쓰여있는 명령 i = i +1이 실행됩니다.

 For next가 1번째 돌았을 때 왼쪽 i는 3입니다. 왜냐하면 오른쪽 i 가 2이고 그 2에 1을 더하기 때문입니다.

마지막 99번을 돌게 되면 왼쪽 i는 얼마일까요?

2. 위 3가지에 딱 2가지 더 알면 편해집니다

매크로(VBA)는 결국 위에 3가지 사례처럼 매크로(VBA) 스크립트에서 사용하지 않습니다. 위의 사례는 설명을 위해서 적어 놓은 것뿐입니다.

 

이미지 26.png

 

실제로는 아래 그림과 같은, 우리가 매일 사용하는 엑셀 쉬트에서 매크로(VBA)가 실행됩니다.

여기에 매크로(VBA)를 이해하기 위해서는 셀주소라는 개념이 등장합니다.

이미 익숙한 A1,B1셀 개념이 있고, 익숙하지 않은 (1행1열)이라는 개념도 있습니다.

매크로(VBA)에서는 안타깝게도 셀주소를 사용할 때 대부분 (1행1열)을 사용합니다.

매크로(VBA)에서는 1행1열을 A1이라고 표기하는 대신에 (1, 1)이라고 표시합니다.

이 부분 자세한 설명은 다음 회차에 실제 사례를 보면서 하겠습니다.

마지막으로 중요한 개념이 하나 남아 있습니다.

우리가 눈으로 보면서 엑셀 쉬트에 수식을 넣거나, 고치면서 작업을 할 때는 별로 중요하지 않지만

매크로(VBA)를 하기 위해서는 데이터가 있는 마지막 셀이 어디인지가 중요합니다.

위 쉬트에서 마지막 셀은 당연히  B2셀입니다. 눈으로 보고 마지막 셀을 찾아서 인식합니다.

그러나, 매크로(VBA)를 실행 하면 마지막셀이 바뀌게 됩니다. 

그래서 항상 마지막 셀이 어디인지를 매크로(VBA)로 인식시키는 작업이 필요합니다.

이건 Cells.Find("*", , , , xlByRows, xlPrevious).Row 명령어입니다.

 

약간 복잡합니다. 당분간 이 명령어는 메모장에 복사해 놓고 사용하면 됩니다.

이제 매크로(VBA) 5가지 중요한 개념을 배웠습니다.

1.  i = i +1

2. if 문

3. for 문

4. 셀(1, 1) 주소

5. 셀의 마지막 주소

위 5가지 개념으로 어떤 것을 만들 수 있는지 왕 초보용 엑셀 매크로(VBA) 배우기 - 2에서 살펴보겠습니다.

이곳에서 작성한 스크립트를 파일로 첨부합니다.

 

왕초보용_매크로(VBA).xlsm

 

사진 및 파일 첨부

여기에 파일을 끌어 놓거나 왼쪽의 버튼을 클릭하세요.

파일 용량 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )
  • ?
    Festina lente 2023.12.13 21:48

    기초적인 내용을 알려주는 정보를 찾고 있었는데 감사합니다.

  • ?
    슈슈 2024.01.10 08:34

    VBA에 관심 있어 찾다가 글 보구 갑니다.
    저도 컴퓨터라곤 게임 밖에 할줄 모르고, 엑셀은 단순 수식만 사용할 줄 아는데 VBA도 조금 익혀두면 많이 유용하겠네요.. 감사합니다.
    새해 복 많이 받으세요 :)

  • ?
    Kingzberry 2024.01.29 16:49

    이렇게 좋은 유용한 글을 써주시다니...주인장은 천사인가?

  • ?
    ㅇㅇ 2024.03.03 20:20

    감사합니다감사합니다감사합니다..


  1. 왕 초보용 엑셀 매크로(VBA) 배우기 - 13 (문자 + 숫자 정렬)

  2. 왕 초보용 엑셀 매크로(VBA) 배우기 - 12 (공백 행 일괄 삭제하기)

  3. 왕 초보용 엑셀 매크로(VBA) 배우기 - 11 (매일 10페이지 책읽기 프로그램 6/6)

  4. 왕 초보용 엑셀 매크로(VBA) 배우기 - 10 (매일 10페이지 책읽기 프로그램 5/6)

  5. 왕 초보용 엑셀 매크로(VBA) 배우기 - 9 (매일 10페이지 책읽기 프로그램 4/6)

  6. 왕 초보용 엑셀 매크로(VBA) 배우기 - 8 (매일 10페이지 책읽기 프로그램 3/6)

  7. 왕 초보용 엑셀 매크로(VBA) 배우기 - 7 (매일 10페이지 책읽기 프로그램 2/6)

  8. 왕 초보용 엑셀 매크로(VBA) 배우기 - 6 (매일 10페이지 책읽기 프로그램 1/6)

  9. 왕 초보용 엑셀 매크로(VBA) 배우기 - 5 (중복 행 찾기 4/4)

  10. 왕 초보용 엑셀 매크로(VBA) 배우기 - 4 (중복 행 찾기 3/4)

  11. 왕 초보용 엑셀 매크로(VBA) 배우기 - 3 (중복 행 찾기 2/4)

  12. 왕 초보용 엑셀 매크로(VBA) 배우기 - 2 (중복 행 찾기 1/4)

  13. 왕 초보용 엑셀 매크로(VBA) 배우기 - 1 (가장 중요한 3가지 기억하기)

Board Pagination Prev 1 Next
/ 1

LOGIN

SEARCH

MENU NAVIGATION