엑셀 / VBA / 매크로 만들고 실행하기

간단한 예제로, VBA로 매크로를 만들고 실행하는 과정을 살펴보겠습니다.(개발 도구 메뉴가 없는 경우 옵션 변경으로 추가할 수 있습니다.)

  • [개발 도구]에서 제일 왼쪽에 있는 [Visual Basic]을 클릭합니다.(단축키는 Alt+F11입니다.)

  • 다음과 같은 에디터 창이 나오는데...

  • [Microsoft Excel 개체]를 선택하고 마우스 우클릭한 후, [삽입]의 [모듈]을 클릭합니다.

  • 코드를 넣을 수 있는 창이 나오는데...

  • 다음 코드를 입력합니다.
Sub SayHello()
  Sheet1.Range("A1").Value = "HELLO"
End Sub
  • SayHello라는 이름의, A1 셀에 HELLO를 입력하는 매크로를 만드는 것입니다.

  • 이제 [개발 도구]의 [매크로]를 클릭합니다.(단축키는 Alt+F8입니다.)

  • SayHello가 선택된 상태에서 [실행]을 클릭하면...

  • A1 셀에 HELLO가 입력됩니다.

  • 코드를 다음처럼 수정하고, 다시 매크로를 실행하면...
Sub SayHello()
  Sheet1.Range("A1:A10").Value = "HELLO"
End Sub

  • A1부터 A10까지 HELLO가 입력됩니다.

  • 매크로를 포함한 엑셀 파일을 저장할 때는 [Excel 매크로 사용 통합 문서 형식]으로 저장합니다.
  • 이 형식의 확장자는 xlsm입니다.

같은 카테고리의 다른 글
엑셀 / 월별 합계 구하는 방법 두 가지

엑셀 / 월별 합계 구하는 방법 두 가지

다음과 같이 날짜별 제품 판매 데이터가 있습니다. 이 자료를 가지고 월별 판매액 합계를 구하는 방법 두 가지를 소개해드립니다. 방법 1 MONTH 함수로 날짜에서 월을 뽑아냅니다. SUMIF 함수로 월별 금액의 합계를 구합니다. 의미 없는 F열을 추가해야 한다는 단점이 있습니다. 방법 2 날짜에서 월을 뽑아, 해당 월의 금액 합계를 구합니다. =SUM((MONTH($A$2:$A$10)=G2)*$E$2:$E$10) 수식이 약간 복잡해지지만, 월별 합계를 구하기 위한 열을 추가할 ...

엑셀 / VBA / 여러 시트의 내용을 하나의 시트에 모으는 방법

엑셀 / VBA / 여러 시트의 내용을 하나의 시트에 모으는 방법

동일한 형식에 내용만 다른 여러 시트의 데이터를 하나로 합치는 방법을 알아본다. 예를 들어 다음과 같은 엑셀 문서가 있다고 하자. 첫 번째 시트는 합쳐진 데이터가 모일 시트이고, 나머지 세 개는 데이터가 있는 시트이다. 을 클릭한다.(만약 개발 도구 메뉴가 없다면 여기의 안내대로 개발 도구를 추가한다.) 을 클릭한다. 다음과 같이 코드를 입력한다. Sub Merge() ...

엑셀 / 함수 / NPV / 순현재가치 계산하는 함수

엑셀 / 함수 / NPV / 순현재가치 계산하는 함수

개요 NPV 함수는 주기적인 현금흐름에 대한 순현재가치(NPV : Net Present Value)를 계산하는 함수입니다. 현금흐름은 정기적이어야 하지만, 금액은 일정할 필요가 없습니다. 구문 NPV(rate,value1,,...) rate 필수 요소로 할인율입니다. value1, value2, ... value1은 필수 요소이고, value2 부터는 선택 요소입니다. 각 시점의 현금흐름으로, 1개에서 254개까지 지정할 수 있습니다. 현금유입은 양수로, 현금유출은 음수로 입력합니다. value1은 1기간 말의 현금흐름, value2는 2기간 말의 현금흐름, value3은 3기간 말의 현금흐름입니다. ...

엑셀 / 함수 / INT, TRUNC / 소수를 정수 만드는 함수

엑셀 / 함수 / INT, TRUNC / 소수를 정수 만드는 함수

개요 소수를 정수로 만드는 함수에는 INT 함수와 TRUNC 함수가 있습니다. 정수로 만든다는 점은 같지만, 정수로 만드는 방식에는 차이가 있으므로 사용에 주의를 해야 합니다. 차이점 1 INT 함수는 작거나 같은 정수로 만듭니다. 예를 들어 INT(2.6) 은 2.6보다 작은 정수인 2가 되고, INT(-2.6) 은 -2.6보다 작은 정수인 -3이 됩니다. TRUNC 함수는 소수점 아래의 수를 지워버립니다. 예를 들어 TRUNC(2.6) 은 소수점 아래의 수 6을 ...

엑셀 / 행의 최대 개수, 열의 최대 개수, 셀의 최대 개수

엑셀 / 행의 최대 개수, 열의 최대 개수, 셀의 최대 개수

행, 열, 셀 엑셀은 표 형태로 되어 있어요. 가로를 행이라 하고, 세로를 열이라 하고, 각 칸을 셀이라 합니다. 행은 숫자로 구분하고, 열은 문자로 구분해요. 셀은 열과 행의 이름을 합하여 나타냅니다. 예를 들어 D3는 D열과 3행이 만나는 셀을 의미합니다. 사용할 수 있는 행과 열의 개수는 정해져있어요. 꽤 많긴 하지만 무한대로 있지는 않아요. 최대 몇 ...

엑셀 / 함수 / TRIM / 공백 제거하는 함수

엑셀 / 함수 / TRIM / 공백 제거하는 함수

개요 TRIM은 문자열에 있는 공백을 제거하는 함수이다. 문자열 양 끝에 있는 공백은 다 제거한다. 문자열 사이에 있는 공백은 하나만 남기고 제거한다. 구문 TRIM(text) 예제 =TRIM(" AB CD ") AB, CD 양 끝과 사이에 한 개의 공백이 있으면, 양 끝의 공백은 제거하고, 사이에 있는 것은 그대로 둔다. =TRIM(" AB CD ") AB, CD 양 끝과 사이에 두 개의 공백이 있으면, 양 ...

엑셀 / 함수 / CONCAT, CONCATENATE / 여러 텍스트를 하나로 합치는 함수

엑셀 / 함수 / CONCAT, CONCATENATE / 여러 텍스트를 하나로 합치는 함수

개요 CONCATENATE는 여러 문자열을 하나의 문자열로 합하는 함수입니다. Excel 2016, Excel Mobile 및 Excel Online에서는 이 함수가 CONCAT 함수로 대체되었습니다. 이전 버전과의 호환성을 위해 CONCATENATE 함수도 계속 제공되지만 CONCAT을 사용하는 것이 좋습니다. TEXTJOIN 함수를 이용하면 구분 기호 설정을 쉽게 할 수 있고, 빈 셀에 대한 처리 방법도 정할 수 있습니다. 구문 CONCAT(text1, , ...) text1 : 필수 ...

엑셀 / 함수 / SUMPRODUCT / 곱의 합 구하는 함수

엑셀 / 함수 / SUMPRODUCT / 곱의 합 구하는 함수

개요 SUMPRODUCT는 곱들의 합을 구하는 함수이다. 이것을 주어진 배열에서 해당 요소를 모두 곱하고 그 곱의 합계를 반환한다고 표현한다. 표현은 복잡하지만, PRODUCT를 구하고 그 다음 SUM을 구한다고 생각하면 된다. 구문 SUMPRODUCT(array1, , ...) 각 배열에 같은 순서에 있는 값들을 곱한 후 다 더한 값을 출력한다. 배열 안의 값의 개수, 즉 차원이 같아야 한다. 만약 다르면 #VALUE! ...

엑셀 / 화면 확대, 축소 하는 방법

엑셀 / 화면 확대, 축소 하는 방법

화면 확대/축소 엑셀의 기본 글자 크기는 보통 11pt입니다. 대부분 그 크기에 익숙해져있지만, 좀 더 크게 또는 좀 더 작게 보는 게 편할 때가 있습니다. 글자 크기를 변경하는 방법도 있지만, 다른 사람과 자료를 공유해야 하거나, 프린터로 인쇄해야 하는 경우에는, 글자 크기는 그대로 둔 채 화면만 확대/축소하는 게 좋습니다. 화면을 확대/축소하는 방법 두 가지를 소개해드립니다. 방법 ...

엑셀 / 주민등록번호 뒷자리 별표로 바꾸는 방법

엑셀 / 주민등록번호 뒷자리 별표로 바꾸는 방법

예를 들어 B2 셀에 있는 주민등록번호의 뒷자리를 별표로 바꾸고 싶다면 다음과 같이 합니다. =REPLACE(B2,8,7,"*******")